I was just thinking about this. I think LGPL was a great idea, but unfortunately, business rejected it, because contrary to free market ideology, they are interested in having control over their users (and don't want to show others their code).<p>But assume alternative timeline where LGPL is not rejected and sharing the source code with users of software becomes the norm, just like say, nutritional labels are the norm in the food industry. Then you could have a nice free market solution, where the commercial software (software done for money) would be available under LGPL and commercial license. To evaluate software, you use LGPL (because you can verify before you buy whether the software actually does what it says it does), and to buy and use the software commercially, you use the commercial license.<p>Compare this to today, where lot of components are under BSD license, so you can easily evaluate them, but you cannot sustain commercial operation around them, because you will get outcompeted by people writing the code for free.<p>I think Stallman has recognized (aside from his moral beliefs, let's just focus on pragmatic capitalism here) early on, that closing the source and code as a property are fundamentally incompatible. If you want to license somebody else's code, that is, treat it as private property, then you need to be able to evaluate it, and see its source. And he thought that companies, which are normally used to private property, will prefer clear licensing deals (i.e. they understand what they're buying) to having control over their users. Therefore the solution - dual LGPL and commercial licensing.<p>What he didn't thought of is that programmers will rather work for free (and fun) than punishing bad actors, which are the companies that close the source (to mislead their users). That's why we ended up in the world where BSD rules, but at the expense of private companies and properly maintained software.<p>What we see is capitalism failing, if the correct social controls of the property are not there (this actually goes into fundamental contradictions in capitalism, but let's put that aside). I think the government should mandate that everybody who provides software should also provide the source code (so that the software can be properly evaluated), and focus on enforcing proper licensing deals. This is what happens with other forms of "intellectual property" - patents, copyrights and trademarks all require that you disclose what you're selling before licensing it to someone.<p>Unfortunately, businesses largely reject free market in favor of screwing other people over. So the companies that wanted not to show the source code to their users (so they could sell more software) won, and it is at the long-term expense of having a functioning software market (and commercial companies themselves).