6 ms·
The main problem I see with this is misalignment of interests. If you are a founder of OSS project who gets contracted to do support work then the amount of mon
by annnnd 9y ago
The main problem I see with this is misalignment of interests. If you are a founder of OSS project who gets contracted to do support work then the amount of money depends on number of users and pain level of their problems. Which means it is not in your interest to develop robust and bug-free software. Of course, it must still be usable, just not technically perfect (there are many successful OSS projects which are nightmare to support - the latest I saw was SuiteCRM, but there are many others).
The solution would be to build a platform which would collect some fixed amount of money from enterprises in exchange for support on all OSS projects said enterprise uses (limited by hours per month?). Foundation behind the platform should employ or sign contracts with maintainers of different projects. It would also employ developers willing to maintain different projects where maintainers are not prepared to help. All fixes should then be offered as pull requests back to original maintainers, or in case of still used but abandoned projects a support fork could be made.
I am sure there are hole in this scheme too - if there weren't somebody would have implemented it already. But I see this as win/win/win solution. Hell, I would love to work for such foundation. I also see my company paying for such support. And it definitely benefits OSS projects. So what am I missing?
EDIT: just to clarify, enterprise gets a number of hours per month which are used in part for active support and features development but also for maintenance of projects (cleaning / refactoring code, writing tests, documentation,...) they use. And maintenance should also be used on libraries these projects use, so the effect should trickle all the way down.
- panic 9y agoMost maintainers wouldn't want to be or couldn't be an employee of such a company (e.g. due to existing employment contracts). I'd also question whether it's healthy to centralize the development of all OSS projects used by all your customers into one platform like this.
- annnnd 9y agoThat is fine, and there is no need for it. That wouldn't be viable anyway (except for node.js and projects of similar size). The foundation pays someone else (their contractor) to fix a bug in the OSS project and to make a pull request to the project maintainer. This way the bugs get fixed, enterprise have their support and contractor gets paid. Maintainer of the project also gets something - fixes of his code by seasoned professionals, paid to do their work.
- cperciva 9y ago... the amount of money depends on number of users and pain level of their problems. Which means it is not in your interest to develop robust and bug-free software. Agreed. I've heard people refer to producing highly painful software in order to encourage support contracts as the "RedHat model" of open source software. But it cuts both ways -- if you as a developer have a bunch of people signed up to pay you monthly, you'd like to get their money while doing the minimum possible amount of work; so there's an incentive for you to make your software bug-free and easy to use so that your supporters aren't bugging (no pun intended) you all the time.
- pjmlp 9y agoOr IBM, SAP,.... business model as well, as it is how every enterprise product works, one needs consulting to use them at all.
- annnnd 9y agoThere will always be some amount of this at play. But changing motivation of people offering support ("you get paid because this works, not because it breaks") would result in much better software and better aligned interests of all parties involved.
- agibsonccc 9y agoDisclaimer: My company basically has this model for AI. We work heavily with consulting companies and have a licensing structure relative to the number of cpu/gpu cores you use. We have found this to be a great way to charge. There's a clear value prop for the customer when they see what they get (usually compliance features, security,..). Also for both sides, there's some basic reassurances: The company won't disappear because they make money, and the vendor has incentives to do what they say they do. A more mainstream company I think HN knows more of that does this is gitlab. I'm definitely not a "save the world" type founder. I run a for profit entity focused on commercializing technology that captures a large market opportunity. Our product is open core for marketing, recruiting, and distribution purposes. Because we're open source, I get to write books, run classes, and speak at technology conferences all over the world as way of doing sales and marketing. Turns out it works. As a side benefit, we also get a small share of the market that use us in academic research. As a comparison: The major cloud vendors all "run" and market open source frameworks in AI to get more people to spend money on their compute clouds (same reason they give away credits). Widely used open source projects usually have commercial backing somewhere in the chain. My biased opinion I would love to learn counter points about: These utopian platforms can't work. They might be a great way to make a short term living. It feels like there wouldn't be incentives for maintenance or support under this kind of model for individual developers. My biggest reason for this is the support volume. Once you get to a certain scale, that "small repo developer" has a risk of getting overwhelmed. Pretty soon they hire someone. Then it's not about just code anymore. Granted, you can share the work among several contributors eventually, but at scale, this becomes fragile at some point. This is a big reason why these things end up being companies.
- beojan 9y ago> would collect some fixed amount of money from enterprises in exchange for support on all OSS projects said enterprise uses (limited by hours per month?). That's called getting a job with said enterprise.
- annnnd 9y agoYes, if you developed Keras and enterprise is Google. But what if enterprise wants to use some small plugin for Wordpress which is opensource, and needs some new functionality or a bug fixed? It seems unlikely that each enterprise will offer a job to each of the OSS maintainers, even if the said persons are even willing to offer such support.
- daemin 9y agoIt's more like paying a company like RedHat to do this work managing and testing OSS for you.
- coffeeaddicted 9y agoI don't think there is a misalignment of interest. Robust software is also correlated to the number of users. In my experience there is also no need to worry about not having enough open problems to work on. It could happen in theory I guess, but projects tend to have more open problems and feature wishes than developer time. If your software is used there will always be people asking for more features to work on. You don't get more projects because there are too many problems in your software which need fixing - you get more projects because your software is good and you are known to be the person to fix problems.
- hoodoof 9y agoNot true. Support is fundamental to many software businesses and has been for a very very long time and I don't feel that people see it as a way to get developers to write bad software.