1. 34
  1. 17

    Do people actually try to do this, with these exact intentions, really?

    I would expect this to mean something like “license is MIT, but companies please apply for custom license to get support and stuff”.

    1. 3

      Are you asking if people actually try to publish software that is allowed to be used for non-commercial purposes only, or if people try to do that using a dual-license with one of the licenses being the MIT license?

      I am positive the answer to both questions is yes, but I do not have any clear examples handy.

      1. 4

        This is a lawyer that tries to promote their own none open-source license (BTPL). It is little surprise that he / she will put up a strawman and attack it.

        IMHO this is a borderline flaggable content for Lobsters.

        1. 9

          If you’d managed to read even the first paragraph of my post, you’d see it responds to one from the Stack Overflow blog. I even quote the passage where they mention MIT for noncommercial, verbatim.

          I don’t mention Big Time in this post. I do mention two actual noncommercial software licenses I’ve contributed to. Because they’re better, and will help devs tempted to jerry-rig MIT to avoid needless hassles.

          1. 2

            I’ve read it. Both your post and the one you refer to put up a strawman (people use MIT license for non-commercial). This is not a reality with any projects with even slightly traction.

            What I am trying to say is: this post is intellectually dishonest by putting a very niche if not non-existent misread of license (MIT license obviously is permissive and cannot be arbitrarily restricted) into focal point, then attacking it, trying to establish an alternative reality where “non-commercial” open-source is an widely acceptable open-source practice.

            1. 9

              He’s very clearly addressing one specific way of using the MIT license and saying that it doesn’t legally work. He’s also directly responding to someone mentioning the usage he’s addressing.

              He’s not using that niche usage as a strawman to attack the general MIT license anywhere in the post. What line are you reading that turns this into a strawman attack on the general license?

              It’s a little concerning that you also clearly didn’t read the article and initially accused him of just wanting to promote his own license (which isn’t even mentioned in the article) before pivoting to calling this a strawman attack on the MIT License.

              If you have a bone to pick with someone please don’t bring that into the comments section of Lobsters. The guy wrote an article: come discuss the merits of that article if you want.

              1. 2

                Just realized that I replied too quick on my mobile device and left too much for interpretations. Sorry about that.

                I am not saying the post attacks MIT license in general.

                I interpret this post for a particular MIT license usage as this:

                Someone licensed their code under a modified MIT license (modified as: MIT license for non-commercial use cases), and a commercial license (supposedly with some guarantees).

                My comment, and my parent comment (by @unrelentingtech) call out that this situation doesn’t exist, or at least very niche so nobody really see it anywhere.

                Note that this is in contrast with a different interpretation of MIT / commercial dual-license: someone licensed their code under MIT license and also provides a commercial license if you want to pay for it, in hope to get some guarantees (as MIT license provides the software as is). There are some examples for this case, most notably MySQL (but with GPL). There are also community edition / enterprise edition software licensed similarly.

                The comment you replied to can come off as offensive when re-read it. The point that I am trying to drive home is: by attacking a non-exist use case (modified MIT license + commercial license), author’s self-interest served, which (again, this is an extrapolation) is to lend legitimacy to non-open-source licenses as a reasonable alternative to open-source ones.

              2. 5

                Indeed, it is all a big conspiracy to give devs free legal help with their licensing terms.

                1. 2

                  I appreciate the work that you do! I have very few blogs in my RSS reader, and yours is one of them.

                  1. 1

                    Thanks for your note! Glad to be of help.

        2. 12

          This is the first time I’ve seen a lawyer argue that a license that differentiates between commercial and non-commercial use is a thing that you can do. The other advice I’ve read suggests that it’s too fraught with corner cases to be allowed. For example:

          • If I use a music player to listen to music on my headphones while I’m working, is that a commercial use?
          • If I put ads on my blog, is it a commercial use of the text editor that I use to write the entries or the CMS that I use to host it?
          • If a company uses the software for a purpose that is not connected to their commercial activities, is that a commercial use?
          • If I use the software for some free project and someone decides later to give me a donation to support my work, am I now violating the license?
          • Does a fee-paying university count as a commercial use? What if it’s also a registered charity?

          Splitting the world into commercial and non-commercial activities is normally a problem that lawyers say is too hard.

          1. 20

            Well, Creative Commons did it back in the day by adding the NC variants.. in an intentionally flexible way:

            The inclusion of “primarily” in the definition recognizes that no activity is completely disconnected from commercial activity; it is only the primary purpose of the reuse that needs to be considered.

            In their experience there weren’t many conflicts over the definition. So I guess (like was recently said about engineering) “commercial use is like pornography, I know it when I see it” – and that’s good enough.

            1. 5

              In all honesty, the whole software licensing idea is a bit anoying and not as useful as most people think.

              I put the MIT license on code I push to github because they force me to use a license. But in good truth, I have no way to enforce it in most cases. Nor would I care about ofenses in many cases.

              I wish software authors would be less possessive about their code and put the focus on the code itself rather than overhead. I miss the days when one would post code online and whomever wanted would do whatever they wanted with it without bringing the boring licensing discussions to attention. Attribution would naturally occur to an acceptable level givena good cominity with rnouth well intended people.

              I also don’t quite agree with the concept of paying for a copy of the software and not being able to do whatever one wants with it, within reasonable limits such as non-usurpation. I understand it is a reality today and perhaps even the most adapted to today’s economy, but it is a practice that should be questionable. Is it really ethically correct? I don’t think so.

              1. 17

                For me, licenses are not for the code publishers, but rather the code consumers.

                If you publish code without a license, then in my jurisdiction it’s technically copyrighted by default. I’m legally not allowed to use it at all, and open myself up to legal liability if I do. After I make my millions, how do I know you won’t some day take me to court and demand a percentage of that? By putting a license on your code, you’re giving people peace of mind that you’re not gonna turn around and try to sue them later.

                1. 6

                  Agreed. At work a few years ago I copied-and-pasted a page of useful code from a gist I found on GitHub, including the comment identifying the author, and I added a comment saying where I got it from.

                  Before our next release, when we had to identify any new open source code we were using, I added a reference to that file. The legal department then became worried that there was no license associated with it. Someone ended up tracking down the author and asking him, and he assured him he had no claim on it and put it in the public domain.

                2. 8

                  I wish software authors would be less possessive about their code and put the focus on the code itself rather than overhead.

                  Unfortunately, this attitude only leads to mass exploitation of developers and enrichment of corporate interests.

                  The world is full of assholes who will take advantage of the free work and good will of others and give nothing back.

                  The world is also full of useful idiots who will give over their stuff to the aforementioned assholes and then, years later after discovering that you can’t pay rent with Github stars or HN posts, cry and piss and moan about how they were ripped off.

                  So, yeah, licenses are important.

                  1. 11

                    You can’t “exploit” someone by taking [a copy of] what they’re giving away for free. Free means free.

                    If you create stuff and don’t charge money for it but have the expectation that people will give you money for it anyway or at least recompense you somehow_ … then you are either living in a small traditional village culture, or an anarchist commune. In both of those environments there is such a social contract*. If you’re not, you are indeed an idiot, unless you encumber your software with a license that forces such recompense.

                    I don’t believe most open source contributors who don’t use copyleft licenses are idiots. I believe they genuinely make their software available for free and don’t expect to see a dime directly from it.

                    In my case I do so to give back to the world, and because having people use and appreciate what I’ve made makes me feel good, and because it enhances my reputation as a skilled dude to whom my next employer should pay a handsome salary.

                    * I highly recommend Eric Frank Russells’s 1940s SF story “…And Then There Were None”, about a colony planet that adopts such a society, inspired by Gandhi, and what happens to a militaristic galactic empire starship that rediscovers the planet.

                    1. 6

                      You can’t “exploit” someone by taking [a copy of] what they’re giving away for free.

                      I would argue that you absolutely can if you take something offered freely, make a profit at it, and do not somehow pay that back to the person who helped you out. It’s somewhat worse for many maintainers because there is active pressure, complaining, and hounding to extract still further value out of them.

                      I don’t believe most open source contributors who don’t use copyleft licenses are idiots. I believe they genuinely make their software available for free and don’t expect to see a dime directly from it.

                      Not idiots–useful idiots. It’s a different thing.

                      I think there is for many of us a belief that we give away our software to help out other developers. I think of neat little hacks I’ve shared specifically so other devs don’t ever have to solve those same problems, because they sucked and because I have myself benefited from the work of other devs. This is I would argue an unspoken social compact that many of us have entered into. That would be the “not directly see a dime” you refer to, I think.

                      Unfortunately, it is obvious that as a class we are not recouping the amount of value we generate. It is even more painful because it’s a choice that a lot of developers–especially web developers, for cultural and historical reasons–sleepwalk through.

                      Consider Catto and Angry birds, right? Dude wrote Box2D (without which you don’t really get Angry Birds as a physics game) and never saw (as reported anyways) a red cent of the 12BUSD in revenue they booked in 2012. That’s insane, right? There’s no world in which that is just.

                      (One might argue “@friendlysock, ours is not a just world.” In which case, sure, take all you can and give nothing back, but fucking hell I’m not gonna pretend I don’t find it in equal measure sad and offensive.)

                      Our colleague I’m responding to is exactly that sort of person that a company, investor, or founder loves–yes, yes, please, don’t think too hard about licenses, just put your work in the public domain! Don’t worry your pretty little head about getting compensated for your work, and most certainly don’t worry about the other developers you put out of a job! Code wants to be free, after all, and don’t fret about what happens to development as a career when everything we need to write has either been written or can be spun whole-cloth by a handful of specialists with the aid of GPT descendants!

                      I suspect our colleague means well, and lord knows I wish I could just focus on solving neat problems with code, but we can ill afford to ignore certain realities about our industry.

                      1. 7

                        I would argue that you absolutely can if you take something offered freely, make a profit at it, and do not somehow pay that back to the person who helped you out.

                        Nah, I’ve published MIT stuff, and my take is - go for it, commercialize the hell out of it, you don’t have to pay me anything.

                        The point of MIT is to raise the state of the art, to make the solution to a problem universal. That includes corporations. No reciprocity is required: the code being there to be used is the point of releasing it.

                        1. 1

                          I would argue that you absolutely can [exploit someone] if you take something offered freely, make a profit at it, and do not somehow pay that back to the person who helped you out.

                          I assume the definition your link refers to is “to make use of selfishly or unethically,” because the others don’t fit. But if someone offers you a thing with explicit assurance that you can use it freely without encumbrance (except maybe a token like thanking them in a readme), and you do so, how is that exploitation?

                          Feudal lords exploited peasants because the peasants had no choice but to work the lord’s lands for subsistence, or leave and starve. That has nothing to do with open source developers. No one is forced or coerced into releasing code freely.

                          This is I would argue an unspoken social compact that many of us have entered into.

                          If that’s the social compact you want, then for gods’ sake choose a license that expresses it. Choose an Old Testament eye-for-an-eye license (GPL) not a New Testament “turn the other cheek” license (MIT et al).

                          That would be the “not directly see a dime” you refer to, I think. Unfortunately, it is obvious that as a class we are not recouping the amount of value we generate.

                          Dude, you and I are in the same class. I’m sure we have comparable skill sets. I went to work for The Man after school, and in exchange for writing what The Man wants all day, I make good $$$. I don’t know what you do exactly, but if you aren’t getting paid for code then I guess you’re either working at something you like better and coding as a hobby, or you aren’t tied to the capitalist treadmill at all and get to code whatever you choose all day; I don’t know. But you probably have your compensations.

                          I do know that it is super unlikely that there is a class of impoverished coders out there unable to find good paying jobs. Tech companies like the one I work for are desperate for talent. In the ten years I’ve been at this job I have witnessed how effin’ hard it is to find good programmers. Most of the ones the recruiters turn up are deeply mediocre, and we give up and hire the best of a mixed bunch. We have gone to great lengths like filing H1-b visas and dealing with six months or more of government bureaucracy hell, just to get one mostly-competent programmer from a distant country. In fact most of the people we hire are from outside the US, because seemingly all the local developers know nothing except React or whatever trendy web junk is popular these days … not the CS fundamentals we need.

                          In a crazy seller’s-market for coding skills like this, I refuse to listen to Marxist arguments about exploitation of the working classes. That is not the world I have seen in my 40 years in this industry.

                        2. 5

                          If you’re not, you are indeed an idiot, unless you encumber your software with a license that forces such recompense.

                          Well, that’s exactly the point of the article. If you don’t want to be exploited, don’t use MIT, but instead use this or this license.

                        3. 3

                          I think you overestimate how common those “idiots” are (I disagree that the world is “full” of them as snej explains in the sibling comment), maybe due to the occasional cases that get a lot of attention, and I think you underestimate how a spirit of giving can benefit the commons, for genuine non-financialized benefit to the giver and others. Copyleft hasn’t solved the domination problem, and with AI-(re)written code being a likely dominant future force, I won’t be surprised to see license relevance decline. There’s other approaches to the world’s problems than licenses, and maybe in some cases restrictive licenses trap us in local minima.

                        4. 4

                          I feel similarly, in terms of over-focusing on licenses, and I don’t care what the not-well-intentioned people do with most of the code I put online; not that I would never speak out but life’s too short and I’d rather focus on other ways to convey my values and have a positive impact. (this isn’t a statement against other people using copyleft or non-commercial, I still consider using them in some cases) Two licenses that might fit those goals better than MIT are the public domain Unlicense and WTFPL.

                          With the future looking like it’ll be full of AI-assisted code trained on every open codebase, we need solutions other than licenses more than ever. “Computer, generate me a program in Zig that passes the LLVM test suite in the style of Fabrice Bellard.”

                            1. 5

                              Problem with some licenses like Unlicense is that not all jurisdictions allows you to voluntarily place your work under public domain, so in such jurisdictions that license is void.

                              1. 5

                                Thanks for pointing that out, do you know of the best alternative? The Unlicense Wikipedia page says the FSF recommends CC0 instead.

                                From Wikipedia on CC0:

                                Or, when not legally possible, CC0 acts as fallback as public domain equivalent license.

                                1. 4

                                  The Unlicense also intended to do exactly that. The “Anyone is free…” and the “AS IS” paragraphs are the fallback.

                                  1. 3

                                    While the FSF recommends the CC0 for non-software content, they do not recommend it for software. The OSI has similar concerns.

                              2. 2

                                Jim Weirich (author of rake, rest in peace) used the MIT license for most of his work but a few smaller projects used this simple license:

                                You are granted permission to read, copy, modify, redistribute this software or derivatives of this software.

                                It’s important to grant at least some license, otherwise (as I understand it) in the US you do not have any rights to make copies of the work unless you are the copyright holder or are granted a license. There is a lot of old software in the world where the author has passed away or otherwise moved on, without ever granting an explicit license, leaving the software to sit unused until the copyright expires.

                                (I am not a lawyer and this is not legal advice)

                                1. 1

                                  What happens if you copy paste a 20 line script from a blog and include it in the project of a product you make in the context of a private company of yours which doesn’t publish its code?

                                  It’s not like the open source police will read all your source files and search line by line to try to find it out there on the web. If anything, most companies a ton of low quality code that no one wants to look at.

                                  1. 2

                                    I think you are making the point that a license does not in practice restrict someone from using your code under terms not granted by the license; I agree.

                                    You wrote that you wished “software authors would be less possessive about their code and put the focus on the code itself rather than overhead”. I also agree with that sentiment, but I do not believe that implies publishing code “without bringing the boring licensing discussions to attention” (which I interpreted as “without a license”) is the best path to putting the focus on the code.

                              3. 3

                                The most common thing that I see is a pair of products. Product Community Edition is MIT or BSD or AGPL or, occasionally, GPL, and comes with a git repo and a mailing list, and a refusal to take patches unless accompanied by an IP transfer. It’s always free.

                                Product Business Edition or Enterprise Edition is licensed on commercial terms and includes at least one major feature that businesses feel is a must-have checkbox item, and some amount of support.

                                I used to see a bunch of open source products where the main (usually sole) dev sold a phone app that went with the product, in order to raise some money. That seems less popular these days.

                                1. 3

                                  As you and I have discussed here before, it is quite reasonable to talk about Free Software licenses which are effectively non-commercial. The licenses I enumerated at that time are uniform in how they would answer your questions: yes, all of those things are allowed, but some might be unpalatable to employers. Pleasingly, on your third point, a company would be afraid to try to use Free Software provided under these licenses, even for purposes outside their charter of commerce.

                                  1. 3

                                    I got something slightly different from reading the post; it’s not “you can differentiate between commercial and non-commercial” in a license; it’s “if you want to differentiate between commercial and non commercial then don’t dual-license using the MIT license because that creates ambiguity”.

                                    1. 5

                                      Just to be pedantic, it doesn’t create ambiguity. MIT pretty much lets anyone use it, where your intention was probably not that. Therefore, the issue isn’t ambiguity, it’s redundancy.

                                    2. 3

                                      I don’t see why one couldn’t write a software license that differentiates between commercial and non-commercial use, using whatever criteria the license writer wants for edge cases. That will probably end up not being a free software license - a license that attempts to judge what kinds of uses of software count as “commercial” and legally forbid them limits user freedom to use that software in a way incompatible with the notion of free software - and this will affect free software advocates’ willingness to use software licensed under such terms. But there are plenty of non-free software licenses in this world, what’s one more?

                                    3. 5

                                      This is silly/obvious (and, as others have pointed out, probably a straw-man motivated by self-interest). If you want to do this, obviously MIT/BSD/etc isn’t the license you use for the “open edition”.

                                      That’s why it’s - somewhat ironically - much easier to get code released as GPL in most organizations, despite those same organizations being strictly anti-GPL for others’ code they want to use. That tells you all you need to know if you want to make such organizations pay you to use your open source software, really…