-
Notifications
You must be signed in to change notification settings - Fork 639
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Trying a new open source model (Ungit license change) #974
Comments
Hi @FredrikNoren. For future reference, could you point out who has agreed to the license change? Not that this bothers me personally, but I suspect it could be a potential concern for others, especially since this change aims to introduce a financial aspect to the project. I'd assume at least the top 6 contributors, who have all contributed more than 10 commits to the project, would be a reasonably conservative estimate for the group of people who have contributed non-trivially to the IP of the project, and would therefore need to consent to having their contributions relicensed (the pedantic estimate would be all 60 contributors, while even the most liberal estimate couldn't be less than you, @codingtwinky and @campersau, IMHO). |
@waldyrious , IANAL, but MIT is a very permissive license that has very few restrictions in place. The contributions done under MIT will continue to be MIT licensed and the license change of Ungit to LYC is only effective from cf582d4 going forward. For those who don't like the change of the license, are able to fork the project and keep rolling the MIT badge. Having said that, I do understand the personal motivations for the license change, but I dislike the trend in general - License Zero. There are various efforts going on monetizing personal projects but the permissive license of BSD/MIT is something that allows someone else (individual or business) to build something else out of the code or include code without limitations - LYC will not allow that going forward. Putting in place some arbitrary clause which is revenue based is in my mind silly and counter-intuitive because it is something that can make you unlicensed or at breach of license at some future point. It seems like the term of Open Source is becoming a little vague. I can see parallel with Cloud9v3, which has the source in GitHub but the license allows you to only use it for personal or Plugin development purposes. I think Facebook proved with the React.js and BSD+Don't-sue-me-with-patents-license how messy licenses can become if you add attributes to it, opting for the MIT in the end. 🎉 As LYC is not listed as an approved license by OSI, please don't call Ungit Open Source going forward. |
@waldyrious I spoke to @codingtwinky and @campersau before making the change. @exsilium The idea for the license was to make it as permissive as possible, while still opening up a revenue stream from big companies. It's supposed to enable an individual to clone Ungit, make changes to it (if they want), re-sell that or sell it as part of a product, and only if they make > $1M / year do they ever need to pay a license fee back. And even at that point it's a license fee of $90 / month. Do you read the license differently? I had not heard of license zero before, looks interesting. I'll have to take a closer look at that. When it comes to calling it open source: I'm not sure I agree with that webpage's definition, and as far as I can tell they weren't able to trademark it (https://opensource.org/pressreleases/certified-open-source.php). The source code of Ungit is still available for anyone to poke around with, modify, copy and do what they want with. The only change from MIT is that if you use it to power a business you need to contribute back. Good comments so far! I'd love to hear more thoughts; this is very much an experiment in my mind. If people feel like it's a horrible idea we can always change it back. But my dream with this experiment is to enable a lot more people to live of off their open source work; I think that would be really cool. |
@FredrikNoren , just to be clear. I'm not challenging your personal motivations for changing the license nor your dream to experiment. Although I can't deny the hope that you would change the license back at a future date, I still hope it brings you the solutions you are hoping for. 👍 OSI has been around for almost 20 years as a global non-profit organization for promoting Open Source Software, the very fact that you allow people to tinker with the Source doesn't make the application open source :) It is a philosophical question, Indeed - there are many people who also feel differently from OSI but still, I was making my point that you are defining your application as open source against the majority consensus of what is regarded as open source to begin with. PS! Probably you need to fix this: Line 94 in 2eda2a4
|
@exsilium Whoops! Thanks, I've fixed it now :) (package.json) |
I have created ungit-extension for Brackets and VSCode. With the new license, I have a few questions:
This license is making things rather confusing. |
To publicize my point of view:
|
@Hirse That's exactly the types of tough questions I was hoping we'd see with this! I'm going to do them in reverse order. However I really have to point out here that I'm not a lawyer and I'm just offering my interpretation.
All of the above are my interpretations and guesses, lmk if it makes sense. |
@codingtwinky
|
Thanks for your interpretations. I have this license section, would you think that is enough? Do you see any other changes I might have to make? |
@Hirse Yeah, I don't think you need more than that. |
Just so everyone's aware: I'm renaming License Your Code to Faircode (hence the link changes in the license file and updated badge in the readme). I made a new landing page that I hope explains the concept as well: https://faircode.io/ |
So it's the same thing but with a new name. Got it. I still believe that if you want to monetize on Ungit (or any personal project for that matter), a better option from changing a license would be to register OpenCollective group and/or setup a Patreon account and let the community chip in whichever way they can. As a fyi, for now, i've forked from ungit to mungit purely due to philosophical issues and all MIT compatible fixes are welcome! |
@exsilium I'm actually experimenting with open source licensing options for Faircode as well: The idea is that you'd be able to keep your open source license but Faircode would help you charge companies who use the code (even if they legally aren't required to, it may be in their interest if they're using the code). The reason I don't want to use Open Collective and Patreon is because I don't think they fundamentally scale well. They do work for big, well known projects, like vue.js, who's founder has a very successful Patreon campaign. But even he has said that he doesn't think it's the model that can work for most people (https://changelog.com/rfc/12). With Faircode, the idea is that instead of convincing many people to pay small sums; you charge a few companies bigger sums. And I think that a model like that could enable a lot more people to live off of making code as independent open source developers. I think that's both in developers interest (less work to "market" your thing to a big community) and in companies interest (increase chances the software you're based on is stable and long lived). |
Yes, Vue.js is an excellent example of success and if you view their webpage you'll notice that many of the Patreon sponsors are actually businesses - not sure how many of them cross the magic $1M revenue bridge, but still. I don't really see how Faircode.io helps with the scaling issue but as it's a young platform and everything is an experiment it would be too early to judge. Allowing an open source licence without attributes would be a good direction as any custom license is something that potentially turns customers/backers away from the project. Good luck! |
It's worth noting that this might actually not be desirable from the point of view of long-term sustainability and stability of projects supported in this manner. As Scott Santens (who has a successfully built a Patreon campaign) points out, community-supported projects actually benefit from having their income spread out over many people contributing small sums:
|
@waldyrious Yeah I think that's a great point. My long term plan to address that is to create something like "collectives" in Faircode, where multiple people can share income from their various projects. That way, the idea is, you can get more stability long term. I want it to be possible to even spend like a year or two building something, but with the security of a "collective". But this is just an idea at this point, I need to solve a lot of the basics to even get there first :) |
. |
@jpschewe It is mentioned in the changelog, version 1.1.32. This is all part of an experiment to see if it's possible to make a living as an open source developer by licensing the software to companies (well, opinions differ on what qualifies as open source, but whatever it would be under the Faircode License). And if peoples reactions is to simply fork the project and switch to that, than I'd definitely consider the experiment failed :) (That's probably what would happen to other open source devs too) |
Kind of, it says "Show license notification on first start". It doesn't say that the license changed. I suppose as soon as someone upgrades and sees the new license they can uninstall. |
OK, I see it there now, thank you. I retract my comment about it being a bait and switch. |
I dislike this change and I am opposed to it entirely. I will not be using any future ungit versions released under this license. Faircode is not a free software license nor is it an open source license. |
@bakkerthehacker Can you elaborate on why you feel that way? I'd love to get everyone's opinion on this. |
This change FUNDAMENTALLY excludes the licensed code from being open source, specifically because it 5. is discriminating against a group of persons and 7. does not follow distribution of license.
I can understand a few people not agreeing with or recognizing OSI as having any authority on what constitutes open source code and what does not. However, there is a very, VERY large and powerful body of people that have come to an agreement in regards to this matter, and have agreed upon such a governing body. Decisions made by OSI do influence legal proceedings throughout the world.
This statement is just false. Ungit is NOT available for anyone to do these things, only groups which the license deems acceptable. Part of this group acceptance is revenue numbers, and part of it is a commercial license grant. This is discrimination, whether you think it is or not.
This is not how licenses work. You cannot choose to not enforce licenses. Companies cannot choose to ignore licenses.
This is, by far, one of the least easy ways for a company to contribute money. Changing the license ADDS a TON of additional work that must be done before you see any money. Talking to legal teams, auditing the actual text of the license, managing the commercial license grant, expense reporting. These are just a few of the things I can think of that would make this licensing sytem completely non-viable or just not worth the effort. What happens if https://faircode.io/ goes down? What happens if you decide (for whatever reason) to not grant the commercial license? What if critical infrastructure depends on this? Adding a donate button would be much easier, both from a large-company-standpoint and a developer-who-wants-to-buy-another-developer-a-beer standpoint. Ungit has been insanely useful, both for work and for hobby projects. If you had a donate button on the ungit page, I would definitely have already used it. And I probably could have gotten my employer to match the donation. On top of all of this, there is a very large problem in general with editing licenses and adding additional clauses to them. The two biggest examples I can think of are the patent clause in the react license and the "not Evil" clause in the JSMin/JSLint license. These additional clauses sneak under many peoples radar as the license looks very similar to their non-edited counterparts. As silly and unenforceable as "The Software shall be used for Good, not Evil" seems, it can easily prevent large organizations from using the code. These seem to be the same organizations that you are expecting to receive money from. I can't really see any organization that the $1M revenue clause applies to actually going forward with using this code. These are the reasons I am opposed to the Faircode license. |
@bakkerthehacker Thanks for a very well articulated response! I'm not sure I agree with the terminology of discrimination. Many companies give away a free version of their product and no one would call that "discrimination". For instance Unity is free for individuals and small businesses. I understand that in this case OSI has a slightly different meaning in mind than what people would think in general. They mean discrimination as in "you have to offer the same thing to everyone" not as in "you can't discriminate against particular groups of people". The difference is subtle but I think it's a bit misleading, the first meaning is nothing I have a problem with (for instance I think charging companies money for something and giving it away for free to individuals can be a good thing) whereas the other meaning I strongly reject. When it comes to the complications for companies with a license vs. donations; the idea is that a company only have to do this once, and that for any subsequent Faircode Licensed software they wish to use it's a simple press of a button. This, my hope is, would make it easier for other open source projects to also charge for their software, and thus sustain themselves. I appreciate it complicates things when only looking at a single pieces of software though (and I'm sorry for that!). Anyway, many good points! Like I said Faircode is still an experiment. I wanted to try this over donations because I was hoping to find a solution that would scale to other people too (and I've heard from many OSS developers who struggle to make money of off donations, even though they're building something awesome that is worth a ton to companies). |
Yes, and exactly this is one of the fundamental differences between a Proprietary software that in certain scenarios costs 0 money to use vs Free (as in Freedom (FSF)) or Open Source software. |
@thlblt every idea and concept can be reduced into something else. Uber was just taxis. Netflix just streaming video. Snapchat just messaging. Obviously Faircode doesn’t belong among names like those but my point is that you can always say that. It’s often more about what and who something enable. With Faircode, the idea is to enable open source developers to make a living from their code by charging companies for it. |
Looking at the current ungit repository, where is the required MIT license that it was originally published under? From what I understand, you are free to sub-license the original project, and your contributions (and any other contributions that people signed over to you), or anyone that also agree's to the new terms. But it looks like you didn't do the due dilligance of actually getting that permission from all the contributors. At the moment, you have a modified version of the MIT license, but the previous MIT license said, "The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software." So it really comes down to, whether the remaining contributions were 'substantial portions' of the software. If not, you are in the clear. Licenses can never take away the rights of the original authors, for better or worse, unless they were signed over. |
Sorry about the joke, but think my point still stands: since it is agreed (#974 (comment) that Faircode cannot be an OSS licence by any commonly accepted definitions, what differentiates Faircode licensed software from the myriad other proprietary software in existence? I see how Uber is not like taxis or Snapchat not just yet another messenger service, but I fail to see Faircode's own specific difference. |
Also, if you take 'sub license' to mean 're license' what's to stop me (not a company making 1M) from re-licensing it back under MIT given that your license allows me to do so? If you disagree that it's allowed to re-license as meaning of sub license, have contacted people to allow re-licensing, then I can still take the old project which is under MIT, take the diff of your current project, and as long as the current diff isn't a 'substantial portion' merge them back, and once again, license under MIT, as the diff doesn't need the new 'faircode' license because I didn't take substantial portions. There just seems to be so many holes, no matter how you interpret it. At the end of the day, you are likely going to end up fine, because any company is more likely to pay you the $90 per month, rather then the legal fee's it could potentially cost to fight it / research it, and whilst people might disagree, it's largely still in spirit of open source, makes sure the project continues to have supported development. I'm more worried about the situation of a disgruntled contributor DMCA'ing your repository for mislicensing their code. It happened to https://github.com/Bukkit/CraftBukkit/ |
Quick update: I changed the pricing to be more flexible (per-seat instead of fixed) and introduced an annual billing discount. It's $8 per seat per month, or $6 per seat per month if billed annually. Still completely free for individuals and small businesses of course. (@ryantheleach Thanks for the comments, I've read them, I'll get back to them as soon as I have time.) |
Don't bother, I've done more research and I'm probably wrong about a lot of my points. |
I am confused about one thing (read the entire thread but can't find the answer). What if I work with Ungit in a big company setting, but I am the only one using it (within the company/team). Everyone else prefers using the command line Git. I simply use it because its easier/simpler/more intuitive than command line. My company doesn't mandate us on using it, but we are allowed to use free or open source software at work (like I use VSCode as my editor of choice, whereas everyone else uses other commercial paid editors). In this scenario is use of Ungit considered individual use or company use? |
@ashishkushwaha you should ask your company to pay for a license to Ungit; they're already comfortable paying for IDEs/editors, and Ungit is a valuable tool. You can spin it as "trying it out so the rest of the team can try it too" and do a presentation on it. Basically you're persuading the company to pay for a single license in the same way you would persuade them to pay for a single license to Windows, OS X or Adobe or some other proprietary tool. |
@FredrikNoren |
@LukeDWood Thanks for the suggestion, I think that's a good idea. Adding it here: #991 |
@omouse - I will try, but most likely it won't get approved since they will just ask me to use command line (like everyone else is doing). I might have to master command line eventually. Thanks for clarifying though. |
@ashishkushwaha Before going full CLI you may want to have a look at https://github.com/exsilium/mungit, a MIT-licensed fork |
@ashishkushwaha I would love to hear what your experience is like if you try, and don't mind sharing, so we can improve for other people. I created a ticket for this: #992 |
I'm also extremely happy to announce that today someone decided to pay for Ungit!! It's the first person to decided to do so since we launched this! I'm very excited about this because this may be a path towards many more people being able to hack on their passion projects as their full time occupations! I know this experiment hasn't been without controversy but I'm proud of everyone in the community pulling through with it. |
I just published "Faircode, an alternative to Open Source that aims to get developers paid" |
I came across the blog post on Reddit. I think you are right it is important to try something this, but I am confused by whether I need a commercial license. My thoughts were summed up pretty well by @ThBit:
The way the license is worded doesn't make this clear, and implies I (as a human, non-commercial entity), don't need a license to use it, no matter what I am using it for. Taking the example of Ungit, when is a commercial license needed?
|
@lucaspiller Yeah I think you're right, I added a ticket for it: https://github.com/faircodeio/faircode-license/issues/2 . I'll address as soon as I can. |
@lucaspiller - thanks for these detailed questions. I think answers to these will give me more clarity too :) |
Does this make it clearer: https://github.com/faircodeio/faircode-license/pull/3 ? Using that, I would interpret @lucaspiller's examples as follows:
Yes for both, as you're involved in Commercial activity and the combined revenue of the entities involved is over $1M (I'm assuming Rich Corp is rich ;)). Either you as a contractor would need a license, or Rich Corp.
That depends on the nature of the side project. If it's part of Rich Corp, then yes (as presumably all activity of Rich Corp falls under Commercial activity as defined in the new text ("commercial advantage or monetary compensation")). If it's a side project that doesn't have anything to do with Rich Corp then no, regardless if you use their hardware or not.
Yes for both, as it falls under Commercial activity (you're working to further Rich Corp). |
@FredrikNoren basically the distinction is; are you enriching yourself or some company? |
@omouse That and you also need to actually be making money from it ($1M / revenue thing); if you're just trying something, or if it's small scale, it's still free even if the intent is commercial (sub-clause A). |
I feel very disappointed, not really by the license change. (A little because it's no more a free software in the FSF signification and no more GNU GPL compatible) But what upset me is :
This is my feedback after updating from 1.1.29 to 1.3.1 I will test it a bit more to see if it continue to spam me advertises. If it does, and continue to do it in future version, i will revert to 1.1.31 or switch to other git UI or if i found new version of ungit usefull despite the license change, create a fork respecting the new license but cleaned from advertising. |
@GammaNu I think 1. is a bug, I've noticed it too. I just created #994 for it. For 2.; thanks for the feedback. I hope it won't be too distracting (it should only show once for each user). |
@FredrikNoren So my contractor use case was intended as a bit of a curve ball, because usually in those cases the contractor has to pay for all the software they need, not the company they are working for. Whether a designer uses Illustrator or Inkscape, they are still producing the same end product, which is what is being paid for. If they are building something that directly uses a Faircode licensed project (i.e. it uses a library that uses this license) then yes I agree it is fair for them to pay, as it's not the contractor but Rich Corp who are directly using it. But in the case of something like Ungit I'm not really sure... It's beneficial for the contractor, not Rich Corp. If the contractor is earning $1800 for the project, then yes paying $6 for one month isn't that big a deal. What about if it's $60? Or $600 (like Illustrator before they switched to subscription pricing)? Also to be honest I think your changes to the license makes it even more unclear. I run a small SaaS product, so does that mean I need to find out how much all of my customers are earning before using any Freecode licensed project (they are entities who are benefiting from the project)? One of them (who doesn't pay me anything - cheapskates!) is a bank, who definitely earns more than $1m/year. I'd really recommend befriending a lawyer who is interested in this :) |
@lucaspiller I would be interested in knowing if the code was Apache/MIT/GPL licensed and had a separate commercial page with regular checkout process whether that would encourage the contractor in your use case to go through the regular flow and kick the cost up to the employer/company? It would definitely reduce confusion about the license terms. |
See #997 |
Hi everyone,
I just changed the Ungit license from MIT to LYC (edit: now called Faircode), which is a semi-commercial license. You can read about the change here: https://medium.com/@fredriknoren/trying-a-new-open-source-model-93a1a5a16a40, code change is here: cf582d4
Feel free to post comments / thoughts / concerns here. I'm running this experiment because I want to find a better model for anyone who works on open source, so happy to hear what people think! I'll leave this issue open for a few days.
The text was updated successfully, but these errors were encountered: