A hot button topic of late that I've seen rising up in the programming world is the discussion of how FOSS destroys the programming trade. Now on the surface one might think that to be true. Why should a company pay a programmer a salary to write them a piece of software when they can simply grab a free and open source application off the web that already does what they need? And even if it doesn't completely fit their needs, it's easy enough to modify the program to fit the specific needs of each organization.So it's true that FOSS does destroy programming jobs, however it's not the kind of destruction you normally think of. FOSS isn't suddenly putting a lot of programmers out of work, but rather it's acting like a strainer, sifting out the chaff from the wheat, and the flies from the oil. It also has the power to take that wheat and oil and make something amazing out of it.Think of FOSS as a testing grounds for new programmers. Before FOSS became a powerful force of change about in any real manner or way, companies were left with two things. 1) Hiring programmers to write programs to fill needs, or 2) buying from an already established software OEM.However, both situations were more or less blindside guesswork. When hiring a programmer you could only go on what others said, and what the applicant presented to you. And as any anybody who's done hiring knows, no applicate will ever tell the complete truth, or provide all the messy details. They always put their best face forward.That leaves you guessing what's fluff, what's an outright lie, and what's legitimate. For all you know, the guy you just hired is a complete dud. FOSS helps companies solve this little conundrum. The first way this happens is that FOSS allows you to see what the individual is capable of. You don't just guess what they can do. You actually get to see it.Before FOSS, code that was written by an individual programmer was typically closed source, and/or proprietary, which mean that your chances of seeing their work was slim to none. So, unless you administered a coding test, you were unable to tell who was a good programmer, and who was a code hack.But FOSS lays it all out for the employer to see. That's why having FOSS connections is a huge bonus feature to have on your resume these days. There are other reasons why it's beneficial, but all in all, having experience in the FOSS world gives you a huge leg up over the competition.Also, FOSS programmers tend to be better than their proprietary counterparts. Now that isn't always true, because there's some pretty bad programmers on both sides of the road, but all in all, FOSS encourages you to do your best. Mostly because, unlike a normal job, you're able to work at your own pace, as much as you want, and how you want. If you don't feel like doing anything today, you don't have to. Now that might not fly in a corporate environment where the mantra is “Time is Money”, but FOSS is a different mindset, and companies both have to realize that and take advantage of it.The FOSS world also allows programmers the chance to hone their skills, to both look at other people's work for ideas and knowledge, as well as get feedback and input from others who either know or might suggest better ways of doing things.There's also the fact that if you're doing code in secret, in a closed source, proprietary environment, you're less likely to do a good job than if your code is open and visible to the world and your peers. If others will see your stuff, you're less likely to fall into the “good enough” mindset and more likely to push for the “absolute best” result. This peer reviewing can result in some very nice ego stroking for the contributing programmer. And one should never underestimate the power of a well stroked ego. But now the next thing that comes up in this discussion is the destruction of programming jobs due to the rise of FOSS. There are fewer programming jobs for proprietary applications out there, and the list of available jobs is growing thinner by the day. And that's not due at all to the recession.Markets change, and the same is true with the software world. Just because one line of work goes away does not mean that something else will not rise to take its place. Take a look at the car. It not only replaced the buggy as the primary form of transportation, a spinoff of it upended the entire rail system, taking what had at one time been a powerful empire and rendered it a mere shadow of its former self.But is anyone complaining? Oh sure, there might be a few people here and there, but the vast majority don't notice. And those two are only minor examples of the changes that have appeared throughout history. Airplanes pretty much destroyed long distance oceanic travel by boat, and the internet is completely upending and reshaping the entire media industry.Change happens. But change doesn't mean the complete end of something. Rather, change is a tool by which one thing evolves into something else. A lot of people complained when the car came out, fearing that it would destroy numerous industries and put lots of people out of work. For a while, it did. But as with any major change, once things settle down enough, jobs appear all over again, and the only people left behind are those that refuse to change. FOSS is no different. It's an agent of change, bringing about the reduction of proprietary and traditional programming jobs, while lifting up a whole new world of work.Sure, there will always be jobs for programmers who want to work for a company. But the type of job they will be involved in will change over time. Don't be surprised if the downswing in programmers working with proprietary in house solutions turns around as companies start hiring programmers again to start providing custom open source in house solutions based off of existing FOSS projects.And before you say it'll never happen, it already is. A growing number of companies are actually starting to take that approach to development. The biggest reasons being that the FOSS world provides them with a larger arena of tools and code to draw from, thus allowing a better end product, quicker, and with fewer bugs.FOSS is also killing the traditional software ownership model. Companies are realizing that they can both make money off of FOSS software, as well as benefit a lot while only having to contribute a little. That might seem selfish, but if you look at the grander picture, the small contribution you make benefits a lot of others. And their contributions in turn benefit more people, including yourself.So in a way, FOSS is like having a big budget programming department with lots of staff on a small department budget. You can still hire programmers who understand FOSS products and development, and they in turn don't have to do as much work to get the same benefit. So where you were getting a 1:1 benefit before, you can now achieve a 1:10 benefit ratio (contribution vs benefit) or better with FOSS.This then solves two problems. It lowers costs for the company, and it allows the programmer to earn a living from something they love to do. And while programmers who code because they love to do indeed do good work, having an income that allows them to put food on the table is also a benefit, both to you and to the programmer.As further proof of this, look at all of the programmers who work for IBM, Red Hat, Novell and other companies who work on open source projects. They're actually paid to write open source software! Now how cool is that? So while FOSS does destroy traditional programming jobs, the jobs that spring up in their place are just as good, if not better.FOSS also solves a huge cost problem that many companies have had to suffer through. Take for example the old Unix days. The cost of running a Unix system was exorbitant, and it was closed source and proprietary. If a problem popped up, instead of being able to fix it right away, you had to suffer through it, waiting on the company responsible in hopes that they'd fix the problem instead. But with FOSS you can solve the problem immediately without waiting.There's also the whole sticky deal with software licensing. Closed source software had the bad habit of taking you by the ear and dragging you around wherever the company controlling the software felt you should go, regardless if that was your wish. With FOSS, you go where you want to go.So in the end, yes, FOSS is destroying the traditional programming model. But what is growing up in its place makes what it's replacing look silly and foolish, a practice and a product that should have been shed ages ago.
Raiden's Realm Social BookmarkingIf you have any problems with any of these links, please let us know. Thanks.
This is just a reminder to everyone that we're always looking for articles for posting on our site. So if you have a Linux, Open Source or Media related article, review, tutorial, or editorial you want to post, by all means please send it to admin@raiden.net and we'll be glad to post it. Thanks.