China is a very paranoid country. They are paranoid that by using proprietary technologies from the West that the CIA will be able to completely spy on their country and know their secrets. Everyone knows about the backdoors in Windows and China hates it. China also wants to be able to backdoor it's own people but do so on the hardware level so they have no clue about it. China lastly wants full technology independence from the West.
Enter, Red Flag Linux...their prayers have been answered...Open Source, domestically developed, Government supported and license free, praise be the revolution!!! China's government officially uses this OS in all of their offices, servers and recommends it to all. I have even read of a story where Government workers raided internet cafes, ripped out the Windows OS and replaced it with Red Flag Linux. The Chinese are very nationalistically zealous and Red Flag Linux and the Longsoon processor project represent their declaration of technology independence from the West and they are very proud of it and should be. Microsoft Windows is not allowed to be deployed by any National or State government funded programs, because they must favor Red Flag Linux as per government mandates.
Russia has a similar policy to remove all Windows and switch to locally produced Linux OS by 2015 (source http://bit.ly/hE4LIg). Tamil Naidu and the prestigious IIT Engineering Colleges in India already use Linux entirely and their Government is going to switch also eventually as Dr. Singh the Prime Minister has stated government policy is to favor local computer vendors using Linux OS. We are all aware of Dell's rollout of preloaded Ubuntu laptops in China and India as well.
Also, look at these Chinese websites and get Google Chrome to translate them from Han Chinese to English...
Basically China is beginning a massive roll out of a digital classroom to enhance their educational sector and make it on par with the United States and Japan. The Chinese government wants to give free and equal technology access to all students as part of the ideals of the Communist Peoples Party. This rollout is being held in a few provincial states as a test pilot and then will be rolled to all of China. That represents Primary, Secondary, High School and University levels. All of these machines will use Longsoon and Red Flag Linux and no Windows OS or Apple products can be allowed, only locally produced Chinese owned and Open Source technology.
Point being that Nvidia lost this order because they favor Windows too much and did not offer fully Open Source drivers. The Chinese wanted to eventually license the chip designs and the drivers and integrate them in their own machines for a fully domestic solution. Nvidia failed to provide open architecture and the cost of adding this would be over budget for a project aimed at education and one that was Government funded. Huge fuckup for Nvidia to lose such a large scale government rollout in a nation of over 300 Million students!
The really really really BIG thing is that when Russia, India and China fully convert over to Linux the total userbase of Linux in those nations will balloon to over 300 to 500 million people. Would not be surprised if the total Global OS market share shifts to 50% Linux, 30% Windows, 20% Mac OS. Entire generations of students will be trained from infancy to use Linux and will have a lifelong preference for it. They will introduce it to their parents and teachers and educators will have to become Linux users to help students with the systems. An entire IT industry will spring up supporting Linux and major corporate investments made in it on an expectation of a huge, young and highly educated userbase. This means that in China, India and Russia the widespread use of Microsoft and Apple products will almost be totally wiped out within a 10-15 years for the majority of people and especially for young people.
Microsoft has no future in China, Russia and India in any sector and Intel, AMD and Nvidia better be ready to get their Linux departments well stocked with plenty of engineers and better reach out to the Linux foundation real soon. Now we all know why STEAM for Linux and why the games makers are rushing to convert to Linux native. They are expecting a huge and young demographic full of Linux users in China, India and Russia.
Also, Nvidia, the OEM's who are all going out of business and the United States should thank the Microsoft monopoly for screwing us/them so badly...thanks for the cartel we could have all been Linux users by now...
That is complete BS. The original code remains free, that does not change. What BSD allows is the option of any one that copies the code and modify the code for their uses with the option placed with them if they want to release their changes or not.
Speaking out of the mouth you sit on again?
None of the FSF licenses or any copyleft license I'm aware of requires you to release your source code changes, either. If you don't understand why, re-read the licenses until this makes sense to you.
In fact, at the place where I work, we very heavily modify GPLv2, GPLv3 and other free software (some of it with BSD licenses and some not) and roll it all together into business-critical software that runs some of our primary operations.
But, we don't distribute it to other people, because the combination of modifying GPL'ed software and combining software with various licenses makes the "jumble" un-redistributable. This is fine for us, because we just throw it all on servers and it interfaces with the outside world over HTTPS.
But no, we couldn't re-distribute it (legally) at all, because we combine code from various licenses, which makes our software a derived work of so many different free/open licenses that the only one that'd let us redistribute it all would be the WTFPL.
Even if we only used BSD-licensed software, the only reason we'd want to re-distribute it without providing source would be if we wanted to become evil. I don't understand why the BSD community feels the need to give other companies the right to become evil. That's the only benefit (if you can call it a benefit) of the BSD license. There's simply no good moral justification for keeping your source code secret and releasing binaries. If you want to keep your source code secret, that's fine; then keep your binaries in-house too. That works. But productizing and distributing binaries without source, when you took a lot of the code from BSD-licensed software, is evil. What gives you the right to reduce the freedom of the people who receive your binaries? Well, your license, obviously; but from a moral standpoint, is it right or wrong? You have to have a pretty fucked up morality to think it's perfectly fine. Go jump in bed with Steve Ballmer or something?
The people I've seen in the BSD community support the BSD license for one of two reasons:
1. They think that, if some company comes along and realizes they can productize this BSD code, maybe they'll hire (and thus pay a comfy salary to) the original developers. First, this is far from guaranteed; many big companies would rather assign their existing employees to maintain/improve such code rather than hiring you. Second, this boils down to basically just performing contract work for your future employer for free ahead of time, taking it on faith that you'll get hired later. The open source community doesn't exist to help you get a job.
2. They like the "freedom" that the BSD license provides, in that it provides no restrictions, but they believe in the "spirit" of open source, in the sense that they still desire perpetuation of the free / open ecosystem. That is to say, they believe that people should voluntarily make their code open for the good of all, even though their license doesn't come out and say that they must.
The first group is greedy, and the second group is well-intentioned but naive. Reality is that greed inevitably takes over wherever valuable BSD code is found, and the good or bad intentions of the original developers is fully irrelevant when a company realizes they can monetize your code. Copyleft is the only way to prevent this greed from creating a monopoly out of code that once was developed to serve the public interest. You prevent it by making it illegal to do the wrong thing; namely, to distribute (to others) the binaries without offering the source. Then you just sit back and allow the law to smack around people who try to fly in the face of it, and step on the sloths in the grass trying to circumvent it.
I can respect people who are in the second group (starting with "2." above) in the BSD camp, because they really do believe in the perpetuation of open source software. But everyone else in the BSD camp can go dig a hole and die in it, because they are "open source opportunities", or short-term open sourcers, who exist to bait-and-switch the general public with free-then-closed software over and over again. Get people to use it; lock 'em in; go closed source. Solaris all over again.
It's kind of fortunate that no desktop product with major market share (~30% or more) has really fallen victim to this situation yet. I mean, Solaris was hardly noticeable because the only real users who suffered from this were those folks who were working on and using OpenSolaris in enterprises. It's not exactly a mainstream desktop OS. So the impact was kind of invisible.
But if Android keeps going, I could see that as being the next one to fall victim to "turning off the code fountain" like Oracle did with Solaris. Problem is, way more people to use Android than have ever used Solaris. And there are sparingly few parts of Android that are copyleft: I can only think of the Linux kernel, because they even use BSD'ed C library. All that has to happen is, Google decides to stop releasing the Android source to the public in order to try and put a stop to root exploits, and just selectively releases the source code to their business partners (the manufacturers). Then, Android is only open source to manufacturers; to everyone else, it's closed source. Then it becomes not much unlike Microsoft's Windows Phone, which probably involves quite a lot of source-level disclosures to manufacturers as well.
And why is this possible with Android? Because there's no Copyleft there to prevent it. Except for the kernel, but well, if most of the system is under lock and key, the kernel sources (which are available on kernel.org anyway) are not going to be of much help.
Last edited by allquixotic; 06-25-2012 at 12:23 AM.
First of all closed source is not evil. It serves the mass majority of people perfectly fine and they are very happy with it. Secondly by using GPL code and not contributing back to the mainline project you are just as bad if not worse. Define "internal use", how is using GPL'd code, modifying it linking it against incompatible licensed software any better then a company that utilizes code that doesn't carry any such limitations. Keeping the changes internal is just as life sucking and dead end as any vendor utilizing a BSD like license. Your premise that BSD licenses are used for evil intentions is completely BS, it is entirely in the spirit of what the license allows.
First of all closed source is not evil. It serves the mass majority of people perfectly fine and they are very happy with it.
Ah, I knew eventually this argument would break down into drivel like this. It's basically impossible to argue at such a low level, because this gets down to basic principles. It's the same reason why the abortion/anti-abortion, gun control/anti-gun control, democrat/republican, etc. etc. etc. debates have been raging on since the beginning of time (or very nearly so).
The first thing I could say in response to this argument is that, who are you to say what serves the mass majority of people? They may be "happy" with it, but what lost potential there is if things were open source, we'll never know. Because that's not reality. What I'm saying is that people are happy because they don't know what they're missing. Closed source software is an opportunity wasted, because the potential good that could come from it being modified is lost by simplistic restrictions imposed by myopic people.
But of course you'll come back and say how Windows has a >90% market share and everyone loves it and it's just so awesome and easy to use blah blah blah. Yeah, right. And what about when people get a BSOD, then spend 6 hours on the phone with Dell, then get transferred to AMD, then wait 6 months for the driver release to come out with the fix to a simple null pointer bug...? How much lost potential is underneath all of that, where someone could have just fixed the bug and moved on with life? (and by "someone" I don't mean an end-user; this is why end-users are supported by IT departments, distros, and other support organizations that help them, above and beyond what the manufacturer does, serving their own specific needs.)
Originally Posted by deanjo
Secondly by using GPL code and not contributing back to the mainline project you are just as bad if not worse.
Ah, I sense a circular argument! By saying "not contributing back to the mainline project" is "bad", you are acknowledging that the perpetuation of open source software is valuable. You may not come right out and say it, but you ARE acknowledging it! Because otherwise you would say "good for you; you're putting good software to practical use!" in response to my case. I kind of threw that out there to see what you'd do with it, and you fell RIGHT into my trap. Nice job!
In fact, "not contributing back to the mainline project" is exactly what every company would do with BSD licensed software, if all the current copyleft software were suddenly converted over to the BSD license. And then all of them would be exactly as "bad if not worse" than my example company, by your definition.
In reality, we do actually contribute back to upstream. We do so by patching the software when we encounter bugs, and rather than just sitting on those patches, we submit them to upstream bug trackers. Apache Struts, for example. What we can't release is our "amalgam", which is the combined derived work of alllll the various projects we integrate together. But we can most certainly contribute self-contained improvements to individual components, and we do that whenever there's an opportunity (usually when we find a bug during testing). This helps improve the quality of upstream, so we don't have to maintain a large internal patch stack.
Originally Posted by deanjo
Define "internal use"
It's software for web applications. We primarily use it for internal operations, but some of it faces our customers on websites. But since it's all web app software, and the only purpose of the software running is for our own employees and customers to interface with our business, there's really no sense in us distributing it, anyway. What, do we want to allow some other company to act as our business by offering them our own software? No, there's only one of our company, and we have very unique requirements. It's not anywhere near general-purpose stuff. If it were general-purpose, I'd be pushing to have it open sourced into its own open source project. I wouldn't let something like that go to waste.
Originally Posted by deanjo
how is using GPL'd code, modifying it linking it against incompatible licensed software any better then a company that utilizes code that doesn't carry any such limitations.
Well, if both companies in your scenario are not re-distributing their software to third parties, then there is no difference at all. If you're not redistributing software, then you can combine software from any projects you want, as long as you are legally licensed to use and modify that source code. You can basically take the parts of each constituent license that refer to "distribution" and go over them with black permanent marker, because you're not distributing anything. You can even integrate software released under a EULA.
If you are distributing software, then here's the distinction: Company "A" (creating the non-redistributable software) can't redistribute at all, so game over. But this is just a fact of copyright law and has absolutely nothing to do with copyleft or free software; this would also be true if you combine software that is licensed under two incompatible EULAs. Copyright law is what it is, unless you want to start a revolution and change it
Originally Posted by deanjo
Keeping the changes internal is just as life sucking and dead end as any vendor utilizing a BSD like license.
In the case of an amalgam project, not distributing the software as an amalgam is not incompatible with making positive contributions to upstream. If you're just talking about one single project that's being modified and used internally, well, there's no harm being done, because you're just exercising your freedom to modify the code (which is granted to you either by a copyleft license or by the BSD license).
Originally Posted by deanjo
Your premise that BSD licenses are used for evil intentions is completely BS, it is entirely in the spirit of what the license allows.
I never argued that distributing binaries without source is "against the spirit of what the license allows". In fact, it is fully within the letter and spirit of what the BSD license allows. This is exactly why the BSD license is bad. But since you won't accept that premise -- since you don't inherently value open code over closed code, except when you're using that as an argument to attack others like you did in your response (see my "trap" above) -- you are basically failing to accept the copyleft imperative as desirable just because you're stubborn, or greedy, or libertarian or something (kidding on the libertarian part, lol). I honestly have no idea why you're that way. But you're not alone, so take solace in that fact, I guess?