views:

1401

answers:

19

I've been considering the idea of working on some open source projects, mainly because of the same reasons that everyone else does it: for fun and to learn something new. But now more than ever these OS (Open Source) projects are taking more and more strength and becoming more and more popular. So, I've been thinking, are we developers killing our profession by working for free? I know there are some OS projects that pay something, but nothing compared to what you would get paid for working in a full time software company.

Think about these worst case scenarios:

  • OpenOffice or any other of these office suits brings Microsoft Office down and now Microsoft has to lay off thousands of developers because of this...
  • Linux becomes the #1 used operating system, and both Apple and Microsoft have to lay off Windows and Mac developers.

Think of this analogy:

  • What if there were "Open Source Banks"?! Where the tellers, managers, execs, etc are super friendly, worked for free, and offered some kick ass products, why go to a Bank of America and pay tons in fees, right?

In other words, what if all software became open source? This probably will never happen or even if it does there will still be plenty of jobs for us out there, but anyway, I wanted to see what other people thought of this crazy paranoia of mine :)


See Also:
http://stackoverflow.com/questions/196131/making-money-with-open-source-as-a-developer
http://stackoverflow.com/questions/116581/open-source-why-or-why-not
http://stackoverflow.com/questions/276957/the-difference-between-free-software-and-open-source-software

+1  A: 

I doubt it. Personally, open source projects start as hobbies that are used to gain new skills--skills I can sell to an eventual employer and be able to point to actual code in use that I've written.

You have to personally weigh the decision yourself. Will you develop yourself further by writing open source code? Does it give you more depth/breadth? Does it develop you in a way that you want your career to go? Better yet -- Are you getting paid to do it?

Even if all code was open source, we would all just end up as consultants. Many companies pay their employees to work on open source projects. Examples I can think of off the top of my head are IBM, RedHat, and Sun. Many companies make money with support contracts and through integrating open source. There'd still be plenty of money floating around.

Doug T.
+42  A: 

Open source does not mean working for free. Even though the products themselves are free most developers who work on larger open source projects are paid. This payment can come from either a 3rd party supporting it or from a foundation created to run the project.

Do you really think the lead developers on projects such as Open Office are doing their work for free?

Also there are normally many corporations started because of open source software based around support and installation. A lot of the time these are run by the creators of the software. Asterix is a good example of an open source project that has a corporate side based on installation and support.

Adam Peck
Indeed. Free/Open source is about *software* being free, not the programmers! See e.g. http://www.dwheeler.com/oss_fs_why.html or http://www.gcn.com/online/vol1_no1/26641-1.html -- at its time of writing, 37000 of the last 38000 contributions to the Linux kernel were by programmers paid to do so.
ShreevatsaR
you should differentiate more. i bet most of KDE developers are free programmers
Johannes Schaub - litb
No they are not. Most KDP programmers are paid programmers - Novell pays for the largest chunk of them. - as are most Linux kernel developers, openoffice.org developers, Apache maintainers, etc.
nos
It strikes me that all of the comments are about people *selling* software or selling software *support*. I work for Texas Instruments and we do not make a dime selling software or support: we give it all away. Instead we provide software as a way to complement our silicon products. This software comes in the form of tools (compilers/IDEs for our DSP products), board support (Linux kernel support for our processors) and integration (Google's Android on our processors). At TI open source software is viewed as a cost and not a profit maker, but developers like me still get paid to write it.
+24  A: 

Most developers don't work on projects like MS Office or Windows or OS X. Most work on custom software that is never seen outside of the walls of their corporation or ever heard of outside their small industry. This type of specialized software typically isn't sold and in fact isn't even the ultimate product for the companies.

Open source software is the basis of a lot of this custom software. By understanding and contributing, you make yourself very attractive to these companies.

I believe the biggest open source successes are around infrastructure-type projects (web servers and operating systems) and I would argue these are the most important to be open source.

criddell
+1: end user applications and customizations will INCREASE as open source components become more widely used.
S.Lott
+1  A: 

It's a trade off. Yes you work for free but you're also learning - as you pointed out.

I truly think though that if an OSS project gets to the point where it would be threatening Microsoft, it would have stopped being "free" LONG before then.

This is kind of like the worry in the early 2000's (and even now to some extent) that shipping programming jobs to countries with lower incomes would put US developers out of work. It's true if you consider the logic in isolation but it breaks down when you start putting it in the "real" world.

"Yes you work for free": wrong!
ShreevatsaR
"This is kind of like the worry in the early 2000's (and even now to some extent) that shipping programming jobs to countries with lower incomes would put US developers out of work."Its not a 'worry' its a reality. Recently clients have told me that they'd rather outsource instead of paying the current rate. I have peers that have the same thing happening to them in other areas of the US. I wont compete with $12-15/hr rates. I'd sooner take a position at Walmart where I can leave my job at at the store, and not 'worry' that I will get called at 2am to restock an aisle without getting paid.
Optimal Solutions
I really think shippinng programmers to low income countries is as bizare as shipping art, artists, philophics to low income countries.Programming requires a special combination of mental benefits and cultural influence which strengthens the intellegence and creativity and ability to abstract of a programmer. You can absolutly not export that character trades!
daemonfire300
+2  A: 

I work on open source for a few reasons. First, obviously to improve my skill set. Second, it's fun. Probably most importantly lately though is because I'm tired of working on stuff that is possibly cool which ends up on a proprietary shelf somewhere that I can't tell anyone about. It's pretty frustrating to build something and then have it languish due to lack of funds. If I work on it for free in my spare time, it's still not "mine" and I'm basically working for free anyway. I'd rather be able to share it.

There are, however, some enlightened companies (my own included sometimes) that are willing to invest in open source development. In these cases, besides getting paid to work on open source, it's possible to maneuver such that you're getting paid to do the not so fun stuff that you'd rather not do on your own timet. Stuff like documentation, support for dependencies you don't really care about, etc. Just be careful that it doesn't get away from you :)

Dave Ray
+2  A: 

What if there were "Open Source Banks"?! Where the tellers, managers, execs, etc are super friendly, worked for free, and offered some kick ass products, why go to a Bank of America and pay tons in fees, right?

It's not a great analogy (open source != work for nothing), but... Banking with BoA is a bad choice now; it's a terrible bank. Credit unions are actually close to what you describe, and yet commercial banks continue to... well, exist.

OpenOffice or any other of these office suits brings Microsoft Office down and now Microsoft has to lay off thousands of developers because of this...

For that to happen, OO would need to meet or surpass MSOffice in both functionality, ease of use, and support. For that to happen, MS would need to completely drop the ball. Consider the case of Internet Explorer: effectively abandoned for years, and yet still holding the majority of the market. There are other factors at work.

Shog9
+4  A: 

There are enough software problems that solving the OS or Office issue should just allow programmers to work on something higher-level.

It's like the argument when Microsoft included the network stack into windows 3.1--Everyone was worried that it would put companies that sold stacks out of work. I for one am fairly glad they did it, and will welcome them putting anti-virus into the OS as well.

Bill K
It is better they fix all the security holes instead so we don't need anti-virus!
some
^ I will always fail to understand how people who are developers themselves and know the difficulties involved can remain so harsh on such capable software just because it has some bugs in it.
PhoenixRedeemer
+1  A: 

All software will never become open source. There is too much demand for custom software, so there will always be someone who will be willing to pay a programmer to write software just for them.

Contributing to an open source project can be somewhat like a lawyer doing pro bono work. Programmers need to be paid, but if they love programming, they'll want to donate their own time to open source projects they care about.

Programmers working on a project they love can lead to great applications that wouldn't ever see the light of day if it were a closed project.

"There is too much demand for custom software, so there will always be someone who will be willing to pay a programmer to write software" -- that BTW, is exactly how Free software hopes things will work: programmers paid to work on custom software that will be open-source for sound business reasons.
ShreevatsaR
+1 For the comparison with pro bono work. That's the way I've always seen it. You get paid to work for some clients but you also like to work on some projects for free.
jasonco
+9  A: 

There are open source business models that make money. They generally follow one of the following patterns (or some combination):

  1. Make the software open source but sell support (e.g. Postgresql)
  2. Make the software open source but charge "bounties" to implement specific features (e.g. Reiserfs)
  3. Make the software open source but bundle some closed-source "premium" features into a commercial version (e.g. MySql).

On top of that, it depends on what kind of open source software you are working on. For infrastructure-type projects, e.g. libraries, utilities, generic servers, etc. you can actually be creating opportunities for new software industries to be created. How many web startups would be out there if they all had to pay $40K/processor Oracle licenses, webserver licenses, operating system licenses, etc.? How many Java products would never have happened if Apache Commons, Hibernate, etc. had never existed? Sometimes creating something open source can make entirely new business models possible that never existed before.

sk
Don't forget Red Hat - bundle and support OS software.
S.Lott
A: 

I'm not sure of the exact number stated, but as I recall, 90-95% of programmers work on internal business projects, and not on software intended for the mass market. Most, if not all open source software is intended for the mass market. So, while we may lose some work we probably won't have that much of an effect on the overall programmer demand. Unless there is some mass exodus of businesses to COTS software, rather that personalized systems, which I don't see happening in the near future I don't think there is any danger to the jobs of most programmers. Also, open source software helps create competition for commercial software in order to create more demand to further development in closed source software. Just look at how long IE was dormant before Firefox, the open source browser, started to become a serious competitor.

Kibbee
A: 

Keep in mind that many Open Source projects do not have the same level of support as paid products. For instance, take a large company like Microsoft, ESRI, Oracle, IBM, etc. These companies make a ton of profit from consulting, services, and support way beyond the initial cost of the boxed software.

j0rd4n
Individual users and developers may get better support from free software projects as these can be more responsive to feature requests and bug reports than large corporations. One could debate whether this is because the typical free software user submits better quality bug reports than the typical commercial software user. Nonetheless support for commercial products can be very expensive (in upgrade costs if not in paid support charges). Finally, if you really care enough, free software comes with access to the source so there is the possibility of fixing it, or getting a third party to.
mas
A: 

Well first of all, OO toplling Office or Linux toppling Windows are beyond unlikely. Commercial software is commercial and open source is open source for a reason.

I only use OO because it's free. If OO and Office were both free I'd choose Office in a heartbeat because OO is slow as a dog and has less features. And Linux is strictly techie... If you don't feel like all the do-it-yourself and just want something that works w/o much effort, you have to go Windows or Mac.

All the little extra touches that make software more usable and functional are what make the commercial software worth it. Why is this? Well, the open source developers abilities to feed their families don't depend on their product selling, for one.

It's no ones fault. That's just how it is. You pay for quality, you get quality. And in the times when you pay for quality and get junk, that company probably would have gone under without an open source project to take it down.

(oh, and add Photoshop to the list of commercial things EASILY better than its free counterpart Gimp)

PhoenixRedeemer
A: 

By working on OSS projects, developers contribute to the overall pool of code out there and help everyone. Myself, I'd be out of a job if it weren't for unix and Apache. A lot of great tools that make other software better and easier to use are OSS and I don't want to be where the industry would be without them.

If it were the case that OSS projects lower the number of paid development positions, great - it wouldn't be more productive to pay people to rewrite code that's already available in peer-reviewed, community-supported form.

HoratioCain
+1  A: 

It's not so black-and-white, we also need to consider motivation...

Very few people work open source full time ... most developers, as one of the earlier answers states, work on corporate internal projects to pay the bills, then on open source projects for self fulfillment.

To put it into psychological terms, specifically Maslow's Hierarchy of Needs the day job fulfills physiological and safety needs and the aesthetic needs are partially fulfilled through the self-actualization and esteem that can be gained working on open source projects.

bochgoch
+1  A: 

It's actually fairly rare for an open source project to be the only competitor to any one proprietary solution, in fact most mainstream software has pretty wide commercial competition already.

So, from that point of view, there's usually much more competition going on already between providers of related commercial/proprietary solutions.

Also, speaking out of personal experience: whenever I got really involved in an open source project, it was usually due to a certain amount of "frustration" with commercial/proprietary, closed-source solutions that were simply not as feature-rich, customizable or welcoming to feature requests and support inquiries.

And honestly, I do think this "scratch your own itch mentality" is a frequent and common motivation for many open source projects and participating contributors: at some point, most projects were started because closed-source solutions were simply not as receptive w.r.t user feedback (requests/issues or just ideas).

In fact, I am really aware of several closed-source projects that I don't mind using at all, simply because they have awesome support and are really good at handling their community-basically, I don't see a need to switch to an open solution.

So, at some point it really does boil down to being able to properly interact with your customers and user community (this applies to both, closed-source and open-source), which also includes being receptive about feature requests and issues reported: if you cannot handle the community momentum that your project has caused, it may actually shoot back at you and do more harm than good, simply because it may inevitably result in a frustrated community of users, which can either mean that your community is turning away from you in order to check out alternatives, or -in an open source setting- simply fork your code and handle the problem on their own.

So, from that point of view: any type of competition usually boils down to a differing vision that was likely caused by not being receptive about this very vision in the first place.

none
A: 

I think in addition to advantages already mentioned . Open source projects gives an excellent opportunity for College Grads to get some experience before they enter the real world.

And it also increases your chances to get a Job.

bakore
A: 

I think, most money is paid for customization, support and maintainance ...

open source software increases productivity for developers, since it reduces the neccessity to start from scratch again ... it is but a tool, that allows a productive creation of real solutions ... a platform to stand upon ...

there is little open source software designed for the end user ... the point is not, that it's free (as in free beer), but that others are free (as in freedom) to adapt it to their needs ... open source is from developers for developers ... end users only tend to see the free beer aspect, yet it's not clear whether using free software, that requires a steeper learning curve and has less support to offer, and doesn't come with many warranties, is so much cheaper in the end ...

contributing to open source software increases your productivity in the sense that you get to know that framework/library/tool very well and can fully exploit its potential, and also -at least partially- shape it at your will ...

free software distributed under strong copylefts that exclude commercial use (you rarely run accross such thing), are a different beast, yet in the case of IDEs, compilers and other dev tools are cool ...

also, there is a certain fear of giving away source for commercial solution ... this also quite paranoid ... of course everyone can modify your once he got the source (be it for free, or for money) ... however, in order to do so, the developers in question must become acquainted with the source ... this takes a lot of money (thus time) and unless their company really plans on doing this on a large scale (under GPL, it also means, their work will flow back as contribution to the project), it is much cheaper to pay any of the project contributors to ammend required modifications ...

the beautiful days, when developers were paid to reinvent the wheel are gone ... only few of them are lucky enough to have time to work on funky libraries/frameworks/platforms etc., and the least of them get the money they'd deserve for it ... but they get the challenge, the fun, the experience, the credits and the chance to create a tool to suit their own needs ...

if you choose to contribute to an open source project, you rely on yourself and the community backing the project ... you rely only on the latter, if you only to participate (which means only using it and sending in bug reports), and you rely on a company, if you choose to be a user of proprietary software ... i think, the first is the best you can do, the second is shooting yourself in the foot, and the last is simply chopping it off ...

back2dos
A: 

In the long run, I think developers gain from Open Source.

Consider that most open source projects are "infrastructure" - Linux OS, Apache web server, Javascript libraries like jQuery to smooth out the differences between browsers and simplify common tasks.

Linus Thorvalds created Linux because he wanted a Unix-like system to play with without paying thousands of dollars in licenses. Similar with Apache. And Firefox was created to avoid having Microsoft controlling the Web, and by implication the fate of all web developers.

If there were no open source alternatives, all OSes and web servers were controlled by Microsoft or IBM, and you had to pay tens of thousands of dollars in licenses to run a simple web site, what would the state of the web be today? Would there be jobs for the thousands of web developers with jobs today?

I think the general argument is that having a high-quality, more-or-less free software infrastructure

  • gives better quality infrastructure
  • saves you from having to pay through the nose for technical training which can only be bought from one particular commercial vendor (coughMCP*cough*DB2*cough*) - today they are optional, as other alternatives exist
  • saves the programmer from the tediousness of reimplementing the same common functionality separately for every customer
  • opens up new avenues for solving new and interesting classes of problems
  • increases the number of software users - the potential market for developers - with several orders of magnitude

This is a benefit for society as well as for individual programmers and commercial software.

I do think it would be suicidal to release all software as open source, this amounts to working for free your whole life.

But for a large class of convenience libraries and general development infrastructure, primarily used by developers, I think the advantages far outweighs the drawbacks. And working on open source yourself, you gain experience you might be hard pressed to find elsewhere.

j-g-faustus
A: 

The Open Source model isn't appropriate in all circumstances. I would imagine it's very unlikely that banks would adopt this model as it's simply not suitable.

Open Source software doesn't work without people to install, maintain and develop it. If Mac and Microsoft went Open Source, the workers would still be required. In fact, my job is maintaining Open Source products. I don't support closed source systems.

Also: Microsoft is already embracing Open Source:
http://www.microsoft.com/web/gallery/Categories.aspx

Rimian