原文
原始链接: https://news.ycombinator.com/item?id=40831489
开源许可证(例如 GPL、MIT 或 CC-BY-SA)允许用户自由修改、分发和使用许可材料,通常不受限制。 然而,在开源许可证中添加有关商业用途的条款可能会导致混乱和潜在的法律问题。 原因如下: 作为用户,您可能对商业用途的构成缺乏清晰的了解,从而可能导致无意中违反许可条款。 由于担心意外后果,这种模糊性可能会阻碍参与。 此外,在这些不确定的条件下投入时间和资源来学习和掌握工具或平台可能会适得其反,特别是考虑到以后由于个人情况的变化而不得不放弃它的可能性时。 相反,选择具有明确且不受限制的开源许可证的工具和平台可以让您高枕无忧,从而实现创造力和创新,而不会受到不必要的限制或担忧。 通过关注广泛采用的许可证(如 GPL、MIT 或 CC-BY-SA),用户可以最大限度地降低复杂性、降低风险,并最终享受协作开发和知识共享的好处。 从本质上讲,接受公开许可的作品可以培养包容性和成长的文化,使个人能够为全球人类集体智慧做出贡献。
Here is (one example reason) why it's important not to try to insert strings about commercial usage into an otherwise open source license:
I'm joe ordinary user who, today, has no plans to use something in any commercial way.
I will still avoid any software or other asset like art, hardware design files etc, that doesn't have a real gpl or mit or cc-by-sa license, because,
1 - I have no idea if I may some day discover I do want to somehow involve it in some commercial process, even if not today. I have no idea what I'll want to do tomorrow. I only know that my core principles aren't likely to change. I'm not likely to want to start stealing tomorrow. But I could start wanting to do something commecially tomorrow that I'm not doing commercially today.
I don't want to invest years of effort in something that I might have to throw out and start over one day, or simply be unable to jump on some opportunity, because I thoughtlessly went and got all invested in something that had strings that I didn't think would ever apply to me.
A lot of things require some investment in effort to learn and to use and then to use effectively, and eventually advanced usage etc. I'm going to avoid becoming an expert in something and writing all kinds of integrations and scripts and solving weird problems and contributing fixes and writing up detailed how-tos etc all for something that I might have to throw it all out one day if the unknown currents of future life winds up meaning I do want to employ some skill commercially after all.
So I just tend to avoid things where that could ever possibly be a problem. As much as practically possible anyway. "tend to avoid" means just that. But that's a lot actually.
2 - I may not even necessarily know if I AM using something in a way that counts as commercial, or might technically violate some other terms.
There are an infinite number of hazy ill-defined scenarios where it's unclear if something would count as violating one or more terms in about commercial activity. Some people are fine with just not worrying about it and taking their chances with "common sense". But it's hardly INvalid to actually care about whether you might be tecnically violating a license. What if I'm just making youtube videos for free without even trying to get sponsors, maybe I use the software in some way in the video, but youtube still applies ads and pays me $1.30 because I didn't turn off monetization on a new account? What if I'm just writing up a readme as part of a fully free wikipedia page or a github, or just a post on facebook, and someone comes along and says they'd like to include that in a book or a paid video class? What if I use something not to sell it or to sell it's output, but it lands me a job because someone saw the project, or I use something just as part of my workflow while running some ebay shop or something, or I use something to process my friends voice acting recordings, which they get paid for, or I do something for a community theater where I don't get paid anything, but the theater does sell tickets to pay for the building and electricity etc, it's a non-profit but it's clearly a commercial activity. Maybe me getting to put my name in the playbill , which is advertizing, which has commercial value, counts... There are an infinite number of fuzzy unclear scenarios where some activity might technically count as commercial activity. Most of those examples I just thought up off the cuff probably don't count, but I can only say probably. I don't really know. And I have ZERO interest in gambling on it. I just avoid anything where there is any uncertainty.
I KNOW what I can and can't do with anything that says GPL on it, and I KNOW that none of the things I can't do will EVER surprise me in the bad way one day. I don't have to worry about it, since, even if I use something as part of a commercial process, I don't have any problem with providing access to the sources to any gpl software or gpl-derived software. And I also don't have any problem just living without something if I am working on something proprietary where the owner does not want it to become open. And I never have to worry about a serial number, never have to worry about an audit from MS etc.
Similarly, I don't want to waste my time writing or hacking on anything that isn't as open ended and unencumbered as possible (I don't consider gpl limits as "encumbered"), such that anyone else in the world can't do whatever I did.
I don't want to be a member of an elite club. I don't want to spend the time and effort to figure something out and then maybe add my own work to it, if only some people can benefit from it and not others. I draw circuits in Kicad instead of Eagle not just because Kicad is free for me, but because it's free for a 12 year old in Uganda and they absolutely can use not only my work because I said they can use my work, but also because I didn't do that work with any software they might not be able to use, either because of cost or because of some license not allowing it because, maybe aside from just using my design to make themselves a widget, they want to make widgets and sell them to the other kids.
If any part of the system has some commercial strings, they end up blocking way more than they seem to at first glance.
Say I'm that 12 year old. I find this example that is almost the same as what I want to do, and it would be super useful to learn from this thing and use it as my starting template to make a bike alarm, and the author even says the design files are free to use, no strings, but the design is done in some merely free-as-in-beer software that I can't use legally, or maybe it only runs on Apple. So I can't actually make use of the design because I can't use the software needed to work on the design, because the douchebag who made it made in some software that not everyone can use.
So I do everything in Kicad. There are people who don't like Kicad, but there is no one who does not have free access to it, including both meanings of free. Same goes for the file formats the content is saved in now that I think of it. Aside from the software, the format of the output files are all fully published specs, which is very much not the case for most everything else.
This STUPID FUTO thing is a perfect example of a weird thing that is best just avoided like the plague.
Not because it's a problem that it prevents you from stealing, because it's a problem that you don't really know what you might do one day that might possibly violate it. You can't violate it if you just don't use it at all.
And just to re-state this another way, I am not doing the thing where commercial programmers complain that GPL code must be avoided at all cost, and they can only use MIT code because one line of gpl code will mean they have to give away all their multibillion dollar proprietary shit. They say things that sound almost the same as what I just said, but the difference is they are complaining about not being free to steal something that's already free. They can use gpl code in commercial products just fine. They can even sell gpl software straight up. The only freedom the gpl infringes on is the freedom to deny the next guy the freedom you enjoyed. It only blocks the freedom to be a dick.
This FUTO thing, it's obviously an attempt to do something about a certain form of bad behavior where someone else gets to make a lot of money from something someone else wrote and gave them for free, and they are not obligated to share any with the original authors, and so they don't. That's not a bad desire to try to address that, but this way of doing it is just misguided and ill-conceived that's all. It does not really produce the result they are aiming for. It just produces the result that, the most thoughtful and principled developers and users will avoid them. Oh there will still be some number of fans and adopters. But that doesn't mean anything. You can put a turd in a shoebox and sell it to someone, and the internet makes everywhere the center of Times Square so you will easily find a population of those someones.