Why would I pay a software engineer lots of money to write an entire system when I can get the engineered parts for free and hire a software mechanic (IE: less skill and less pay) to make the changes?
I've already worked at a few companies where we should have had 3 or 4 developers and only had me because of open source software.
This is why I plan on running a business that utilizes it rather than a career that depends on it.
Open Source Software may be drastically cheaper compared with hiring programmers to reinvent the wheel, but that very fact also enables a lot of projects that otherwise wouldn't have happened.
For every company that's not hiring 3-4 engineers in favor of just one guy, there may be another 3-4 companies hiring one person instead of not doing a project entirely. This is similar to what happened to the demand for computer skills when computing itself got drastically cheaper: the increase in usage more than made up for the fact that an individual task was cheaper.
Now maybe the act of tying disparate open source products together isn't the same sort of programming we did in the past (though it is software engineering). And maybe some day we'll actually finish writing all this software we're working on and it'll be good enough.
Nonsense! Sheer nonsense! If Postgres didn't exist, I'm sure the <20 person company I work for would be happy to pay me to spend the next decade recreating it rather than building their application.
Not to mention Linux, Apache, Ruby on Rails, Java, Git, Vim etc. ;-)
Off the shelf problems may have off the shelf solutions.
However, solving unique problems (which may have value in solving them) do not have off the shelf solutions.
Valve just launched a beta of their Steam client for Linux. There was nowhere for them to just download and use it from- since it was a unique problem.
I think in many cases it is more likely that said companies that you worked for would have zero developers without open source software. Open source has enabled companies, who otherwise wouldn't be able to afford to enter the software game, to take on programmers themselves.
You were perhaps able to do the work of 4 developers, but if 10 new positioned opened across multiple companies like yours due to the same effects it is still a significant net gain that has only helped contribute to shortages and rising incomes.
You do need somebody to develop the open sourced system in the first place. Of course having a system which is open source can have efficiency advantages as in theory as there is less need to re-invent the wheel. This doesn't necessarily seem to happen in practice though, how many competing open source web frameworks are there?
I don't think you can really say there is a correct number of developers that you "should" have. For example most of the software projects I have worked on "should" have had hundreds of developers, because we would have had to build not just the app but the surrounding infrastructure such as HTTP server , DBMS etc.
When productivity is increased by easy access to open source, the scope of projects tends to go up too. Back in 1999 a website that had some HTML text and a few images was generally good enough.
Now people want sites with social integration , full text search , streaming video etc so even though the parts are easier to fit together there are more of them.
This sounds like the "pirating software costs us TRILLIONS" false argument.
Most companies if they didn't have access to open-source software wouldn't pay for the 3-4 developers "it replaced". Just like people wouldn't buy 99.9% of the stuff if they couldn't download it.
My argument isn't about what a company can do with open source (it's clearly more, for less). My argument is that as a result, they will need less developers and the developers they do need can be paid less.
"This sounds like the "pirating software costs us TRILLIONS" false argument."
Piracy nearly put my last company out of business. Say what you want about it, but I saw the direct effects. When I stopped the cracks on the torrent sites (which was a cat/mouse game), my sales jumped up as much as 30%.
The direct result of piracy is Software-as-a-service. Now you get to pay a monthly fee for software you normally would have only paid once.
First time I've heard the term software mechanic ... interesting, I've always thought there was a missing classification for someone who is good at reading specs/documentation and getting something configured and working (even if it takes writing a bit of code), but could never write or architect such a solution themselves.
Is open source software a complementary good or a substitute good for developer labor?
I think the answer is that it tends to be a complementary good, driving demand for developer labor. Apache, mysql, ror, etc, let more of a company's software budget be paid to labor than would have happened with Netscape server, oracle or some costly 4gl language.
lol. it doesn't matter where the _library_ comes from. what matters is how you use it and that takes time, effort, and skill, independent of whether it's "open source" or not.
yeah, you can double or triple your productivity by using code written by those before you, but, so what? it's always been that way. and if you're in a corporation, does it really matter if its OSS or proprietary but just slightly cheaper than writing it yourself?
i'm not knocking OSS here. i grew up with it and I think it's amazing. a godsend. but it's existed for 40 years now---don't you think if it was that amazing it would have already won the "war"?
In many cases, you don't need to assemble any pieces. There are entire open source apps out there that are 99% of what you need. You just need to make a few changes here and there.
In the long run, open source is far better for engineers than it is for executive douches.
To learn Oracle, you needed a job where you had access to Oracle. This gave employers a lot of leverage. They could hire young people eager to learn the ropes (and willing to accept a salary that was small compared to their ability to add value). This reduced the leverage of older people, who were in competition with young people willing to work for peanuts to get into the game at all.
Now, with options like Postgres, people can learn and use a production-quality database without having to pick up a phone and pull out a credit card. The effect of this is that engineers have more options, and are more aware of how much value they actually add.
In the very-long term, this is a wealth transfer from relationship-peddlers with fat stacks (money, capital) to technologists who can actually think and solve problems. It might take a decade, but possibly a century, but it is happening. It's just very slow, and progress is not monotonic.
Why would I pay a software engineer lots of money to write an entire system when I can get the engineered parts for free and hire a software mechanic (IE: less skill and less pay) to make the changes?
I've already worked at a few companies where we should have had 3 or 4 developers and only had me because of open source software.
This is why I plan on running a business that utilizes it rather than a career that depends on it.