Im a big fan of “you can either pay me to fix this issue, or fix it yourself” model. Nobody should be pressured to maintain a open source project once they’re done with it themselves.
Exactly! In fact, that was the original free software MO. The whole maintainership shenanigans became a thing after companies started exploiting it for free labor.
When I can I try to bring up the idea of “pro bono” developer work with employed developers I know.
Outside of FAANG it garners confused looks because it’s so alien. But the argument never gets any logical pushback because the industry is culturally sick on this issue:
“ Do you use and rely on open source software?
If so some percentage of what your employer gains from that should be provided back, not out of some morality but to keep afloat the open source software ecosystem you and your employer are benefiting from.
What’s more, you and employer will gain more expertise in said software and can even ensure it is more reliable for your purposes.
All employers of developers using open source ought to dedicate a certain number of developer-days per month to open source maintenance and proudly make this number public.
Also, this idea isn’t new, lawyers have been doing this for decades. See this info graphic from a major Australian Law Firm showing off how 1/24th of their work is pro bono.
That’s right, the sharks might be better people for society than your industry is for itself. “
We can make some headway by pushing govs to adopt OSS. The Italians have a law “public money → public code”. The whole public sector including public schools should be switching to open source. And part of that would compel contributions of some form. Whether it’s code contributions or payment for support. People should be demanding that their tax revenue is not wasted on software that does not enrich the commons. With profit-driven corporations it’s always a game where a number of variables have to be just right for the company. But the public sector is very much overlooked.
I recently looked at a Danish university and was disgusted with what I saw. They used MS Office and Google docs, and students were pushed to use those tools. They used Matlab not GNU Octave, because that’s what they saw industry using. Schools should be leading industry, not following it.
The main driving force behind use of proprietary software in educational institutions are the software companies themselves. They have an incentive in it. When the students graduate and join the workforce, their employers are more likely to choose the software that these new workers already know. So it’s like an investment for software companies to get their software into the curriculum. They spend considerable money and effort into it. Regular people stand no chance in pushing for free software - mainly because most of them don’t even care.
This is the unfortunate truth. Mathworks tools are heavily used in the engineering space, so it’s an obvious choice for academia to teach.
As much as I try to get my company off of Matlab/Simulink, it’s a challenge. Just so much legacy already written in it
so it’s an obvious choice for academia to teach.
I can’t agree. You could perhaps say Matlab is the default/non-critically-analyzed choice for academia. GNU Octave uses the same language as Matlab. A student who masters GNU Octave will be able to use Matlab just fine.
IIRC, Matlab’s significant difference is Simulink. So if a class actually intends to cover Simulink then it’d perhaps be fair enough for just that class to use Matlab. But even that’s not ideal. Ideal would be the school paying students to add what’s needed in GNU Octave.
I don’t do it for the money. I do it because I like doing it.
Same here. Sounds pretty sustainable to me!
Once my son was born I practically stopped all my involvement in open source because I valued sleep more.
That’s why I like the GPL. I’m fine with people using my software for personal use, or for commercial use if that’s integrated in another open source software.
If a company want to use my software with an unrestrictive opensource license, we’re going to have to discuss license price.
GPL code can be used in proprietary products as long as it is not distributed outside. There are a lot of such use cases.
At this point i think everybody should just use the AGPL instead of the GPL.
There was an instance where Google used a GPL software (GNU units?) in their backend and didn’t release the modifications because they were technically not distributing it. So yes. It supports your suggestion of using AGPL where its purpose is not immediately apparent. It’s a good thing that people are starting to accept copyleft licenses after the anti-copyleft tirade promoted by the industry.
Seconded, AGPL may be better especially in cases where software is network related.
I’m very lucky that I get to work in an upstream focused open source job. But I also maintain a few small packages personally and those only get attention when there are contributions to review or I have a personal itch to scratch. I’ll leave enhancement requests in the trackers and just mark them as such and occasionally have a go at them if I feel the urge. No one not paying should expect anymore from maintainers.
Think about it from a manager’s position. If they pay something for nothing extra (donate), they won’t last long at the company. They are attracted to 2 benefits:
- shedding liability for problems by outsourcing
- special pampered treatment (again via outsourcing)
Corps love commercial software because managers whose neck is on the line can point the finger away from themselves if something goes wrong with it (or so they think… which is what matters in the end anyway). They tend to consider FOSS when there is a fall guy. So e.g. they hire RedHat. But as I think the article mentions, that money doesn’t trickle down from there.
We used a FOSS compiler through a separate contract. The company paid a high price for pampering by the compiler supplier. And the support was magnificent. We got the “pro” version (which for the most part was just a newer release than the version in the commons & perhaps a few extras that were just more of a luxury). But it was really about the support. Anyone on the team could file a ticket with the compiler supplier. Not just for bugs and enhancements, but if something was unclear, or if we needed to know how to do something. They always responded well, gave tips, advice, and workarounds, and if there was a bug they fixed it and we got the fix quickly. They never dropped the ball. Our bugs and enhancement requests would then make it into the core product that benefited the commons. It was a good arrangement.
Then you consider our most heavily used FOSS tool apart from the compiler: emacs. We had an internal team who compiled it and injected our internal mods to customize it for the org. Not sure if any of our customizations would have value outside the org or if that team did PRs.
In short, it’s not enough to just maintain the code and hope for donations. You need to offer a support package that gives 1st class treatment to corps who would pay a premium for it. I’m not sure if the emacs project offers anything comparable to the compiler we used, but I could see the folks I worked for signing up for something like that.
But the demand is high. There are lots of users, many in a corporate sense using my software to further progress their organization.
tbh there will always be demand for free work, these small libraries that people don’t support seem like free code to me that corporations can write themselves relatively easily.
There is a lot of challenges to this. And these are only the things I thought of. I’m sure in reality it’s even more complicated. That’s why I don’t think the moral reponsibility at the moment falls on these companies. There needs to be a system in place that handles the contributions from users and distributes them to projects and dependency projects.
There are plenty of options and case studies for how to do this, in particular tidelift (which was started by a legit open source contributor) is one option, people manage to raise money using open collective and offer incentive through patreon (vue.js is a good example).