ROI for whom?!?
Who is investing money here?
Who is reaping the rewards of investment?
Yeah, no shit getting people to work for free has a high ROI. What the heck?
What open source projects do you know where there's a significant portion of the work being done for free and a corporation reaping significant rewards? I mean if you look at the Linux and Hadoop ecosystems, the most successful companies dump significant money into contributing to all sorts of projects. And most of the significant contributors I know are professional. You do see more involved bug reports from users and more student projects, but it's a minority of the work, and I'd argue they're reaping some good benefits from the community themselves. Mozilla is a community I've known several work-for-free contributors in, but Mozilla's not exactly raking in cash and flying their executives to exotic destinations in private jets all the time as far as I know.
My point above is precisely that I see open-source pitched to companies as "look you can get the community working for you" but I think that's (a) missing the point of free software, and (b) probably not happening much. Dumping stuff on Github might get some pull requests generated, but you don't get a functioning community without investing heavily in it yourself. Companies that don't really invest in open source generally have ghost-town communities and aren't well equipped to harness the power of those pull requests to begin with - it goes both ways.
n00b here.
Can someone explain to me how this works. I imagine a good developer is fairly expensive, so letting them do something unrelated to there job must be pretty expensive. How does this make business sense?
Quite often the company's product is the open source project. It's just that instead of selling licenses, they're selling support contracts. You could get the software free, but for a fee you get to call the engineer that built it in the middle of the night for help keeping it running. And as a bonus, you get to leverage their ability to drive the roadmap when you have feature requests.
So really the debate here is not "do you hire an engineer full time or not?" it's "do you allow the output of that engineer to be open source or not?"
There's also a perk for the engineer: they work on stuff they can publicly point to as their portfolio full-time. Want to see me code? I don't necessarily have to have a bunch of side-projects on Github. Go check out the JIRA for these huge features I worked on!
1.) The task usually needs to be done, but is not business advantage. E.g. you wont sell more because of it. The developer asks the company whether the thing can be released and company does not care so it says ok.
2.) The developer has high status in the company and thus can do what he wish (up to the point). The company ends up tolerating it.
In addition to the other answers you've gotten, it's often the case that:
(a) Developing what you need as a modest extension to existing OSS is cheaper than doing it all by yourself; and
(b) Contributing those changes back to the community means that you've shed the burden of having to keep your local patch's changes in sync with the OSS version going forward.
("Hey, we wanted to use MAAS to maintain our cluster, but it doesn't support our particular power controller, so let's send the patch upstream...")
It's generally a technology somewhat related to your job.
For example, web hosts like GoDaddy do a fair amount of contribution to WordPress because they host a lot of WordPress sites and their customers will keep renewing their web hosting if WordPress is excellent and secure.
I wonder what the percentage of Linux kernel devs who are paid for doing it versus the ones that do it on the side. I bet the paid percentage is higher.
My point above is precisely that I see open-source pitched to companies as "look you can get the community working for you" but I think that's (a) missing the point of free software, and (b) probably not happening much. Dumping stuff on Github might get some pull requests generated, but you don't get a functioning community without investing heavily in it yourself. Companies that don't really invest in open source generally have ghost-town communities and aren't well equipped to harness the power of those pull requests to begin with - it goes both ways.