Ashe Dryden with an older article on the subject of who can give their development time to free or open source software, and who benefits from it:
I don’t know that we can easily measure how much labor actually goes into creating the software that we use every day. Software that we not only benefit from by saving us time, but also makes us quite a lot of money. We work at startups, consultancies, and large enterprises that pay our salaries thanks to the financial benefit of OSS and the mostly unpaid labor of those contributing to it.
People who are contributing their unpaid and underpaid labor are investing their time into companies that are profiting greatly and giving little back in terms of financial support.
We’ve somehow been culturally talked into accepting this arrangement, not realizing how businesses are using it to further extract value from us. Businesses are choosing candidates based on their open source contributions, knowing that they are getting more value for less money out of them. These are candidates that will continue to work on things in their free time because it’s something they care about and are passionate about. This is akin to not paying someone for overtime.
Open source originally broke us free from the shackles of proprietary software which forced us to “pay to play” and gave us little in the way of choices for customization. Without realizing it, we’ve ended up in a similar scenario where we are now paying for the development of software that large companies financially benefit from with little cost to them.
We are being judged on how much we contribute to the bottom lines of companies we don’t work for and what’s worse, we are policing this amongst each other as well.
I’ve spent the past 17 years helping free and open source projects flourish as best I can, it’s not a profitable experience and it’ll tax whatever passion you have for the project you’re working on. While some things are worth doing for reasons other than money, and it has helped me in getting some work, I’m not sure I’d recommend it to anyone at this point, and demanding it of people who are applying for work is ridiculous.
There is one problem I have with the article, I see this paragraph and instantly know what some unprincipled managers would want to do:
As part of the interview, have one of your developers who is familiar with the project and is a good teacher pair with the candidate on an actual issue. See how they reason through problems, become familiar with new codebases, and what questions they ask.
“My team is having a problem, lets ‘interview’ some developers and get them to solve the problem for us.”
I have always hated when interviewers demand “homework” or in-person work that solves their actual problems today. That’s why a company hires someone, to solve business problems.
One way to work around this would be to have a set of free software projects, that don’t benefit the company, for the interviewing developer to work on. Pick a few current issues for those projects, let the developer decide which one to work on. Work on those together.