Jumpstarting new careers in open source
accelerator.github.com
accelerator.github.com
People who don't bat an eye at paying $10 for lunch will balk at paying $10 for a software license for some tool or app that saves them a ton of time and effort. Until this changes, open source contributors will continue to struggle to capture some of the few dollars floating around. Too many will just decide that it just isn't worth it.
People and organizations who want to make a particular improvement to some piece of open source software will. If there are no dollars comming into the front end of the pipe, then those who don't want or need that change, won't make it - and that is perfectly okay. Open source can be quite successful even living off of people writing that code as part of their job or as a hobby. There is no need for it to be a separate career path - if an open source tool can't do X well, then whenever somebody needs or wants or gets paid to do X, that can be committed to that tool by the people whose career involves applying that tool. Sure, extra money helps, but open source communities work reasonably well also without it.
But as a developer myself, I know that altruism only goes so far. There are many 'fun' tasks associated with making good software, but there are also many aspects that are quite unpleasant for the average developer. There is quite a bit of open source software out there with bugs, bad documentation, and bad design; simply because fixing those problems is a real hassle.
Some people are willing to dig in and do some of the dirty work for no pay, but the majority will take a pass. Nothing gets you out of bed on a cold day to go work in the trenches like a steady paycheck. If we are satisfied with the status-quo, then you are right and 'nothing needs to change'; but if you want stable software with good documentation and quick bug fixes, then some improvements need to happen.
If you want stable software with good documentation you can make do it yourself. If you don't want to do the work then you don't really want it that badly. Open source is about freedom. If a billion dollar company finds out they have a show stopping bug because of an Open Source library they are dependent on they can fix it.
Nothing does need to change, what "status quo" are you talking about, if you don't like a piece of open source software don't use it, if you have to use it for your job then thank the stormfather that it is open source so you can go in and fix it.
Honestly people seem to think that the software will become better if we just start paying for it and that is the stupidest idea I've ever heard, in fact often the crappiest software I've ever had to work with is proprietary. I always try and push my company to use open source not because I think it is always better but because if I run into a problem I can inspect the source and find out what is going on and why, and if I need to I can submit a patch.
Open source != free as in beer Open source = free as in speech.
The way things work now is fine, Linux works fine, Emacs works fine, if you're complaint is that some third party node library that you pulled off of Github to calculate the length of a string isn't working how you want my suggestion is submit a pull request or fork it.
This idea that open source software should meet some sort of standard of quality is entitled and noxious, the only guarantee and promise you ever got with open source was that you had the source code, if you want more than that, then do it yourself.
I don't want to have to learn all the code for every single open source project I use and have to try and figure out how to build new features I want; fix a nagging bug I found without breaking something else; or rewrite the documentation. I would rather pay a few bucks (along with the other users of the software) so that collectively the developers most familiar with the code can do that and be compensated for doing so. Without that incentive, the maintainer may get around to fixing your issue sometime next year, if ever.
Sure the source is open so if I REALLY, REALLY wanted to I could go dig into the unfamiliar code and try to figure out how to make it do what I want; but that just seems a little inefficient to me...but maybe that is just me.
But there's if there's an opportunity to motivate an increase in the amount of money that goes to people that are doing what's best for the OSS projects e.g. guarding against supply chain attacks via open source contributions, then I think we should take that opportunity.
Linux is being developed by salaried developers from multi-million dollar companies, almost exclusively.
(I worked on election integrity during the aughts, advocated citizen-owned software. I now feel I missed an(other) explanation for the bias towards the commercial stuff.)
https://congressionaldata.org/open-source-software-now-permi...
The instance I'm mildly familiar with is Apache Accumulo. It was created in 2008 by a team at the NSA, and open-sourced in 2011. They discovered that the NSA was required to purchase the tool from a commercial company, so the team left the NSA and started Sqrrl Data, Inc., to sell the NSA's product back to itself. That was my understanding, at least. I am not a lawyer.
> to sell the NSA's product back to itself
Typical.
My county developed its own election administration software, gave it all to Global Election Systems (the notorious entity later bought by Diebold), then turned around and paid for yearly license and support. (There were rumors that our Sec of State got kickbacks.) Then, insult to injury, GES/Diebold claimed trade secrets to prevent independent inspection.
I can kind of understand. Neither the NSA or my county want to be software publishers. Core competency and all. But some of these arrangements are pretty bad.
Onboarding is a barrier to entry too. For example, yesterday I read a blog article saying that the Rust project Cargo doesn't have enough volunteers. Learning Rust at the moment and looking for a new project, I checked out the "how to contribute" section and looked at the issues on their github repo, but honestly it's daunting. I've submitted a few fixes to some project documentation in the past because those are some of the easiest tasks, but I'm yet to found a small enough crack in a big open source project to jump in and submit a pull request.
More recently it seems like the plan is to fork the project, apply your change, and offer it an AWS branded alternative
That's why I keep asking about royalty schemes. Common for all other forms of IP. Curiously absent from FOSS.
I'd like someone smart about these things to create the boilerplate royalties license complimenting, or compatible with, or whatever, some FOSS licenses. Say Apache License v2.0.
IIRC, it was ElasticSearch that recently tried to thread this needle.
Maybe I'm overthinking this. I tried to read up about royalties, find some model language, etc. Alas, IANAL, so got lost pretty quickly.
That's never going to change (how would it?). People have been saying similar things in every industry since the dawn of the dollar. It's just human nature, and anybody waiting for that change are going to die waiting.
I disagree entirely with your proposition. The economics of open source are built directly into the license agreement structure of the model. When you give a user of your software free and complete permission to do whatever they wish with that software as long as they appropriately credit you (or similar terms), that is /exactly/ what you are doing.
The economics of open source are exactly what they should be, pretty piss poor. Because you don't offer something for free if you have the expectation of being paid for it. This should be basic common sense. The challenge is that the software community has created a weird social order around this that open source is somehow ethically superior to commercial software, and so many developers feel socially obligated to open source software even when they have the expectation of being paid. This is a social challenge though, not an economic one. If your software produces a significant enough ROI above it's cost, you can sell it and be economically fruitful, otherwise you can't, this is is the basic nature of any business.
Where I do agree to some extent with you is that this has a negative impact on open source contributions, because the BATNA (Best Alternative to the Negotiated Agreement) for a software developer between contributing their time and energy to open source vs working for a big tech company for $$$$ is to ditch open source if it isn't economically viable for them. That said, I think this is an extraordinarily privileged position to be in, that a lot of developers lack perspective on. The average person, even in Western economies, makes nowhere near what the average software developer makes in income, and the expectation that you can clear $100k/yr+ by giving away software for free is a bit daft and entitled in a world where the average person in "wealthy countries" makes less than half of that.
Open source partly results in innovative, creative, and valuable ideas being implemented exactly because the relationship provides no real expectations of value on either side and allows developers the freedom to experiment and throw something out there. The reward for you releasing your software to the world for free is that someone found it useful which validated your idea and your creative expression as being valuable. It is not, and should not be, a job, other than as an employee of a company maintaining said project because they rely on it in their core infrastructure and necessarily and rightly take the cost upon themselves to maintain those things which they rely on without any expectation on the original author to do so for their hobby project.
This massive OSS devs burnout seems like reality hitting hard those who thought "I am going to write this piece of software and someone will shower me with money". Reality being companies simply not paying, getting others to contribute to your idea is much more work than expected, amount of entitled users increasing as popularity of software piece grows.
I believe these "wanapreneurs" are ones that mostly shout out that economics of open source should change.
In the end I totally agree that "the economics of open source are exactly what they should be, pretty piss poor.". Just that I have a bit less charitable view of the "social order around open source".
Actually, lots of companies offer services for free with the expectation that, at some point in the future, they will paid for it.
Likewise, many open-source projects offer the core software for free and make money by selling themes/plugins, offering paid support, building other services on top of the open-source software, etc.
Whether you can pull it off depends a lot, of course, on what kind of software it is and who the target users are. Maybe this is feasible only for a small subset of open-source projects. But it's doable. It's been done. Heck, I'm doing it myself. So please don't dismiss this kind of business model too quickly.
You cannot, however, change human nature. There are many people that wish you could change human nature, and that money was sufficiently powerful to do so, but it is not. In fact, when people pay for something, they become even more entitled while still remaining ungrateful. I would like to dissuade you from the notion that customer service is somehow easier and more reasonable than dealing with non-paying randos on the Internet.
That's why I quit Microsoft Office after they moved to a subscription model, for example. Open-source tools may have fewer bells and whistles, but they can be run on essentially any hardware that Linux can run on, there's always a minimalist solution, they don't have all the telemetry overhead, etc.
As far as the economics, well, it's not a cash cow for investors, certainly, but individuals can make a living within the open source world by providing paid technical assistance.
The point is that it's difficult to get software that is static anymore. The reason it's considered a service isn't _because_ it has a subscription model, it's because a product owner and an engineering team are constantly making bug fixes, improvements, security updates, etc. The problem with the model isn't that it exists - the problem is that we don't have a choice. When security is not an issue (like with MS Word), I'd take the single purchase almost every time.
You do. Hammers rust, the handle may break. Practically all things have some kind of upkeep.
It does make sense to pay recurring money if the tool needs to be constantly updated to keep up with 3rd-party services. I agree that a text processor does not make sense, though; albeit they are probably justifying themselves due to the online features it provides (whatever they are; I haven't used MS Office in 10 years)
If the open source licenses contained exceptions saying "you can't use this for free if you make more than x amount of money," then it isn't really open source...
> When we call software “free,” we mean that it respects the users' essential freedoms: the freedom to run it, to study and change it, and to redistribute copies with or without changes. This is a matter of freedom, not price, so think of “free speech,” not “free beer.”
There are two problem I see here, 1) totally free redistribution means price cannot be protected, as resellers can make a too-easy profit giving out discounts, and 2) unrestricted access leads to theft, people will eventually steal once they learn there are no impediments.
I think Open Source needs to move to a Low Cost model similar to the modern media industry. A $10/month subscription to sites like Github. Limited access to projects for non-subscribers. Subscribers can download as much as they want. Fees are redistributed to projects based on subscriber downloads. License prohibits anyone but project owner from re-hosting on other sites. Developers are free to modify your source, and get compensated for it, but just because they touch a small part of it, they don't then get all your revenue, instead rather than project forks, they can do project patches or do their own rewrites. Copyright is protected but the definition for copyright of source code should be softened to be more aligned with standards for other media, so copyright for source should be simply defined as 'obviously equivalent to an average programmer'. So then any programmer is allowed to superficially rewrite code, just as authors superficially rewrite articles, it needs to have some originality to an average programmer.
This would both incentivize/support developers and keep away restrictions from improving code.
"Open Source" is not RMS's thing, he is the "Free" software guy. By getting that wrong you kinda disqualify yourself from being taken seriously by those of us who consider ourselves "Free" software fanatics and who see the whole "Open Source" movement as a distraction from the main point.
Not that that matters, because effectively no one cares. Most people, like you, seem to not even realize there's any difference.
Speaking as a self-described "Free" software fanatic, I feel like we failed nearly completely. At least socially and politically (technically GNU software runs half the planet, eh? You're using some right now, no doubt.)
- - - -
Still speaking as a "Free" software fanatic, it seems like there's no point in Open Source except to benefit people who don't want to share their improvements, and so this effort, coming from Microsoft, seems like a tricky way to get devs to work for them for free (paradoxically by dangling the idea of a paid career in front of them, eh?)
Clearly that makes them trustworthy.
> License prohibits anyone but project owner from re-hosting on other sites.
That sure don't sound like Open Source.
Open source was never about getting things free it was always about making sure that the bullhockey that is currently happening, where the OEMs and software vendors own your device and allow you to use it, never happens, because you have the source you know what it is doing and you can change it.
Some billion dollar company likes your library and uses it, that's fine, because you gave them the freedom to. You can also give instead demand they pay you $10,000 for it if they want to use it, and that is totally okay to. Because Open Source is not about money it's about FREEDOM!
What would be even more cool is if GitHub had a residency program for top OSS contributors / maintainers where they could work - with benefits pay etc - on their projects under GitHubs employ. Kind of like how some Journalist outfits (e.g. Mother Jones) have their fellowship programs.
Big tech companies do have the resources to do this, and its not like there isn't precedent for it in the industry. This would just take it to a whole new level.
I also imagine the marketing positivity would be pretty strong for them.
In my opinion, most of this will turn into a way to game the system. Like another comment said, this is Microsoft's "Summer Of Code".
For a successful open source funding story, take a look at Mkdocs-Material, which recently crossed $10k/mo:
- The frontend ecosystem is one of the worst ecosystems for OSS funding, despite its enormous size
- Python, C#, C/C++ communities seem very much okay paying for licenses to packages and seem to have a better uptick in funding OSS. I've seen alot of Python success stories in particular
- If you aren't in a mainstream language either your community funds you very closely or its not funded at all, there seems to be little middle ground. Wish I could think of two direct comparative examples but I think looking at ocaml vs haskell is telling (idk if their userbase is similar in size or not, I am almost certain ocaml is bigger but not sure by how much)
Regardless, its still only the top 1-2% of projects, regardless of ecosystem, that get most of the funding. The sad reality is often its OSS maintainers paying other OSS maintainers most of the time.
https://squidfunk.github.io/mkdocs-material/insiders/#whats-... includes subtitles and icons as paywall features.
Open Core is a plague on Open Source.
20k over 10 weeks is fine and all, but then what? I've been writing open source software and maintaining projects for decades, and have in total received less than $500 from thoughtful donors.
Don't get me wrong; I'd LOVE to be able to do open source work full time, as my list of projects to benefit humanity extend far beyond what I could do in a lifetime where I must support myself with fulltime work. But the problem is how to maintain a steady income stream so that I can focus my attention on the projects...
Just cut checks, don't make people act out reality show or circus tricks. Ask maintainers what they need and give it to them--that's how you help, not by adding to their workload.
You confuse this for a project trying to benefit developers or Open Source. It's a PR project.
I got a much smaller-sized grant for a FOSS project from Mozilla in July 2020 (a bit more than $4K), and that helped pay the bills for over a year.
That's 2759 hours, (a 9-5 for over a year). The opportunity cost is obviously massive, but it's a sacrifice a lot of people will happily take.
This is kinda sad because GitHub really hit the nail on the head with Sponsors. They are in a unique position to really make a difference, but this ain't it IMO.
If there was funding, people wouldn't attend a marketing seminar. This is just a microsoft acquisition with extra steps. Big Tech has been looking to exploit free software for a while now. Microshit's VSCode was a starting point. They'll gatekeep competent devs into mundane tasks for $$$$, and they'll pay "open source" devs pittances to lock them into something they intend on controlling the direction of.
The way out is pretty clear: stop using Github.
Or is it "open source" in general, such as a non-profit or business web application, which is open sourced (for example, so it can be used by anyone in any country).
I ask because I am interested in creating an agriculture-oriented localized social network, based on shared physical resources (tools, agricultural inputs).
That's just one example of what I mean by a non-profit web application. Not sure if it's the sort of project which this program is looking for-- thought I'd ask here to see if anyone knows.
There's an application process and you'll get selected by a committee. You have to have a GH profile and you can't work for GitHub or any of their affiliated companies. They are biased toward selecting applicants who:
Have an active and growing set of users
Understand how you want to grow and maintain your project
Wish to pursue open source work full-timeYou don't just get paid to work on whatever project(s) you want for 10 weeks.
Can't say I'm excited for the 'offer' despite having lots of FOSS repos... or is it a side-hustle type arrangement?
> Who can apply?
> Not be a current employee of GitHub and/or any of its parent/subsidiary companies
So no Microsoft, npm, bethesda(ZeniMax), linkedin employees can apply.
But if you are activision, this might be your last ticket out ;)
I really want to do it full time but i can't compete with all the persons out there that has more traction than me.
I'd strongly consider participating in this. It's 40x more money than GSoC for a similar time commitment and ~50x more than the money I'd personally make as a full time maintainer (I've been an org admin & mentor for GSoC for the past couple years).
> To participate in the Program, a GSoC Contributor must: be a student or a beginner to open source software development.
https://summerofcode.withgoogle.com/rules - 7) 7.1) a) iv)
Really, I don't think it'll take a few years.
NOPE!
Yeah. You lost me. And apparently everybody else.