Discouraging FOSS June 29, 2009
Posted by rm42 in Computers, Linux.trackback
Linux users have been aware for some time that Microsoft does not share their love for their favorite operating system, Linux. Microsoft has spent a lot of time, energy, and resources trying to marginalize Linux and the slew of FOSS software than has sprung up around it. The European Committee for Interoperable Systems provided us with a good summary of this in a recent report.
In spite of all that, Linux has continued to grow and improve at an impressive rate. And that is precisely what seems to have Microsoft worried. As Steve Ballmer himself has acknowledged, “Linux is not about free software, it is about community… It’s not like Novell, it isn’t going to run out of money–it started off bankrupt, in a way.”
In contrast with Microsoft’s previous competitors which depended on the success of a product, FOSS is primarily a social movement, a movement which springs forth a variety of products. And those products end up having a negative effect on Microsoft’s returns.
It is clear that the more people are interested and able to improve and maintain the FOSS pool, the more Microsoft will find it hard to continue having success in the market. In other words, the only hope for Microsoft to contain Linux is to remove the desire for people to continue contributing to it. If you were Microsoft how would you attempt to accomplish that? Obviously, you would first have to identify the reasons why people contribute to FOSS. Then you would have to find ways to remove or dilute those incentives.
Of course, that is easier said than done. There are a lot of reasons why people like to contribute to Linux. So, I don’t think Microsoft can realistically hope to completely eradicate Linux or FOSS. But, maybe, just maybe, it could discourage the right type of contributors, the ones that contribute to its infrastructure and its foundation parts. Or. if that doesn’t work, maybe it could remove the incentive for a large enough number of top layer contributors, the ones that provide interfaces and user visible features. Microsoft would hope that this would slow down Linux enough for it to be able to outrun it in terms of features and quality.
So what is it that motivates the contributors to the foundation layers of Linux. Well, primarily these are the type of people that grew Linux from its “bankrupt” origins. These people are idealists or visionaries. They thrive in overcoming practical considerations. Their happiness comes from the realization of their ideals more than from any financial rewards. These are the hardest people to discourage. They tend to have a long range view of things and are willing to sacrifice present advantages in order to secure future success. They become more dangerous when attacked since this has the tendency of galvanizing them and increasing their focus and determination. Probably the best results in containing these type of people are achieved by disrupting their unity from within. So, it would not be surprising to see Microsoft attempting to introduce “moles” and bought out defectors into the Linux camp.
The other mayor group of FOSS contributors are the ones attracted by the practical advantages of Linux. Within this group are those interested in Linux because it gives them an advantage in the market. This group likes to create products or features that are very visible to the user and that produce returns either directly or indirectly. They are willing to risk long term success when the chances for short term success is high. These group of people can become impatient with the former group when their caution appears to put obstacles in their quest for immediate results. This is the group that started to congregate around Linux in the late nineties. It certainly accelerated the utility and uptake of Linux. These people tend to view themselves as pragmatic and practical. To undermine this group a couple of strategies can be used. One of them would be to divert their interest from FOSS technologies to others that promise greater “efficiency”. The second would be to negate or dilute the returns that could be achieved through the use of FOSS.
When both of these groups are able to work together unhindered the results are amazing and explosive. However, it is not uncommon to see conflicts between these camps. I think a very visible conflict that has created a lot of discussion lately is the mono controversy. A mono proponent expressed his view this way:
“It is the ‘best technology’ Linux camp that is a threat to Microsoft, and Microsoft is surely pleased when the two camps argue. If the ‘free software’ camp can hold back Mono, that is a loss for the ‘best technology’ camp, and a win for Microsoft.”
I think it is interesting that he thinks that it is the “best technology Linux camp” that is the camp that offers the greatest threat to Microsoft. I can understand why some may think that this is true since this camp is creating flashy and very useful products and features that increase the appeal of Linux. However, mono is not the only tool that the “‘best technology’ Linux camp” has at its disposal. Many view the use of the Qt toolkit as a better alternative, and one that does not have the risk associated with mono. Furthermore, I do not agree with the thought that “‘best technology’ Linux camp” is the one that Microsoft feels most threatened by. I think Microsoft is only threatened by the combination of both camps.
I view mono as a distraction for FOSS developers. Yes, there are some practical advantages in its use, but there are a lot of questions surrounding it. It has the potential of dividing the two mayor camps of Linux contributors. It will be interesting to see what comes out of this controversy.
Yes, you are probably right that Mono is a distraction. The whole point of mono is that it should be possible to port Windows apps to Linux and vice versa. Mono developers will always have to play catch up with .Net developers, and their products will either be second class or take longer time to develope compared to if they had used .Net. Then there is the legality debate that will slow down the adoptation of such apps in the Linux world.
In 20+ years I’ve never seen anything to make me trust Microsoft in any matter like this. But I have to agree that the distraction/division value of Mono might be almost as great to Microsoft as that of controlling a major Linux desktop API. I suspect that they’re secretly hoping for both.
I would say that the best thing would be to simply ignore Mono and continue to add value elsewhere. Quit wasting time and energy. Too bad Ubuntu (and Debian ?!? How the heck can THAT ever happen?) may be casualties.
Your points are absolutely valid, especially the ones about the “moles” Microsoft is trying so hard to put into the FOSS camps.
I tend to believe that the strongest proponents of Mono are such organizations and people and they are financed directly or indirectly by Microsoft. Novell is an outstanding example for that.
Mono and C# aren’t worth that much, especially since Java became free and open source. Even the fully open-source, Sun-independent Java runtimes are quite sophisticated nowadays. (I was surprised to see Azureus working on OpenJDK). I strongly suggest dropping Mono completely from Linux distributions and move everything based on it to Java, Python, Ruby…whatever free technology you like.
Absolutely spot on, very nice essay!
The entire recently strongly renewed Mono mess seems to be a nice way to seed confusion and to poison the Linux environment from within, and if that manages to have lots of time in the community wasted with unproductive arguing, then all the better!!
If we stuck to our roots and improved true, better alternatives such as Python or Java, then we’d be much better off.
How much more fragmentation does the Linux environment really need?? (same thing with the Flash vs. Moonlight annoyance, BTW)
Instead we keep tirelessly having to fight against having Mono forced down our throats via a default install in many distros (pushing out many other useful applications in the process due to onerous space requirements of the Mono stack).
I keep thinking that I ended up in the wrong movie or am having a bad dream, there has to be some sanity prevailing after all!
IMHO as each day passes, the entire Novell thing becomes more and more transparent. It’s all just a major trap designed to push a MICROSOFT-initiated non-capable .NET non-clone into Linux, via strong Novell activism.
They can say “look, .NET is fully cross-platform”, we can say “ow, what insane amounts of time and resources wasted on packaging and integrating a foreign-controlled, half-capable stack”, and ultimately they can say “well, Linux does have Mono for .NET compatibility, but it’s an external project which is FAR less mature than our real thing on Windows, plus they are not licensed etc.pp.”.
Wherever I look, I’m seeing nothing but AWFUL PENALTIES for Linux circles.
I’ll say: to **** with it, KEEP IT OUT OF THE DEFAULT INSTALL, *****!
(but keep it in repositories if need be, to not disable Choice, sigh)
Plus there’s the sweet irony of having much less controversial packages kept in non-free repositories, yet Mono, which several people have demonstrated recently to clearly still be very risky due to patent (non-)agreements, somehow wants to find its way not only into standard repositories, but also into the default install even!
And I’m STILL waiting for a user poll that would most certainly overwhelmingly show that almost nobody really wants or needs Mono in the default install…
[Note: This comment was slightly edited by the moderator due to bad language. Everyone, please keep it clean. Thanks.]
Guys, I totally get the Mono/C# criticism. (I’m not a developer of either, I work on PHP and Perl stuff).
But I think people are overblowing criticism here.
The beauty of Mono is it’s consistent API, and kind of write-once-run-anywhere. There’s also a lot less wasted in language development, as different languages share the same runtime (which IS rather brilliant, and not easy to co-ordinate in the OSS world, see Parrot).
Mono is good competition for FOSS. It’s brought some new ideas for sure. Right now it is debatable, but enough people feel Mono is safe. Perhaps the antagonism Microsoft is hoping for, they expect to come from armchair coders and not actual developers. Suggesting that developers who support Mono are “moles” (that’s one way to read you comment) is just fear-mongering. Ximian certainly are not moles.
Someday Mono will be replaced with something smarter, in the same way Linus said he always expects Linux to be replaced (by that he means the technology – NOT the ideas which will hopefully live on).
Software wise MS can only hope to use patents.
Community wise MS can only temporarily retard progress by creating dissent. Dissent is handeled openly in the community and even the most controversial things tend to end up in consensus.
The only really viable angle of attack is the hardware. If MS can manoeuvre the hardware manufacturers towards systems that are somehow tied to MS only technology, they can effectively rob Linux of the x86 hardware where it mostly runs.
On the other hand, it would probably bring MS into the cross hairs of the anti-trust regulators.
One of the best analysis I have read on the Internet.
I always said, “MS is the most venomous snake ever. Don’t play with it when its hypnotizing dance entices you to. The only way to avoid its deadly poison is by smashing its head paper thin”.
The community should never ever forget that.
We’ve already seen bought and paid for defectors to the Microsoft camp, with Microsoft’s “Port 25″ group. There’s also the obvious bought and paid for Novell bunch.
What more perfect place than Debian to place moles? The largest developer community is also the easiest to penetrate, and with Debian being the source of so many other distributions, “bang for the buck” is obviously attractive.
Dropping Mono like a hot atomic pile is imperative.
Microsoft is actively trying to destroy F/OSS, they have to or they would not be doing their best to maximize their shareholder value. It’s simply the nature of proprietary software as a business model.
Regarding Mono. Why on earth would anyone consider using a product that could be revoked at any time? It could be the best platform in the world and it wouldn’t be worth the risk. Does anyone doubt for a moment that M$ will play the copyright card at some point in the future?
I posted a dissenting reply (post #3), and it was purged. There was nothing in the tone of my post to warrant this either.. it was short, reasoned, and did not attack another’s position.
This article was linked up from Linux Today. I am going to notify the admins to remove their link to this closed, farcical discussion.
Sorry, I was away all morning so I couldn’t approve any comments that arrived after I left until now. I haven’t purged any comments.
Ah! The necessary apology then is mine, sorry for the tinfoil hat reaction.
The funny thing was I posted at home, and SAW my reply in the page. Then when I looked again at work, it was “not there”.
WordPress must do something to make an un-approved post visible to the original poster only (which is OK, but greatly confusing!). Cheers.
Understood. I know that it is hard not to be a little paranoid sometimes.
To me Mono could be a real advantage to the Linux community, but I also believe it is a double edge sword. The advantage would be a large number of applications and companies developing for both products. At the same time I see this as a legal weak spot for Microsoft to exploit.
If we assume Mono becomes a big hit and more and more companies start using it to develop applications for both products; Microsoft could then turn its head toward all of the users and companies using/developing Mono and CRY patent infringement. Threaten to sue everyone and ultimately exploit money from Mono’s users and developers, in lew of being sued.
It’s way too late. Look at all the big dog players. Intel, Nokia, Google, Cisco, IBM. All the excitement and new in computing ideas are not Microsoft centric, and a large proportion of them are Open Source (including Linux). Intel, as an example, is so pro Open Source now that you would think they hate Microsoft. Seriously, what’s new in technology in the last 4 years that is MS centric or depends on MS? They have desktop inertia and an Office Suite. In every other arena, they are not really a player (in the consumer space, they are up to their eyeballs in competition on the server side).
Microsoft has Windows 7 coming out, an iteration of their desktop software. That’s really about it.
I don’t see how you know that the quote about the “best technology” camp is from a Mono proponent. It came from someone named ‘NameWontFitIn20Chara’, posted in a comment on an itwire story. Googling that name shows it has only been used at itwire, for a grand total of 3 comments. One was about Microsoft Money and how to migrate to free alternatives. The other two were on a Mono story, but both were neutral on the merits or lack thereof of Mono.
One of the comments expressed skepticism over the patent threat, because of laches and estoppel. The other, the one with the “best technology” statement, was about how the two camps fighting helps Microsoft.
At most, you can infer from this that ‘NameWontFitIn20Chara’ does not believe the patent issues are serious enough to worry about, and possibly that he or she thinks Mono is good technology. You can’t reasonably get “Mono proponent” from it.
Other than that (and the horrible use of double quotes around a quote that contained double quotes), interesting post.
PS: I am assuming that you do not know ‘NameWontFitIn20Chara’, and so don’t have special knowledge of his or her feelings on Mono. Never mind if you do know him/her.
Sorry but I disagree with you there. The arguments that he put forward are some of the same arguments that many mono proponents use. Namely, that they “do not believe the patent issues are serious enough to worry about” and that they believe that “Mono is good technology”. Those comments have the end result of promoting mono. Therefore, those are not neutral comments. Ipso facto, he is a mono proponent.
(Note that by that I do not mean that he is associated with the project in any way other than as a proponent/promoter.)
What can mono do that Qt can’t? It brings in MS developers, but aren’t they already poisoned/suspect? Who needs ‘em? Qt can do to MS what mono can do to linux, and more–make MS irrelevant.
[...] is another new perspective: I think it is interesting that he thinks that it is the “‘best technology’ Linux camp” [...]
>What can mono do that Qt can’t?
I don’t think this question comes into play. It might have if Microsoft bought Qt, but they didn’t.
Qt also has a nice API, but an attraction to Mono is leveraging Microsoft’s existing work at distributing the runtime.
Or maybe consider in-house development groups who also like Mono. you know… those folks who used to require you to run Windows (or keep a second PC) just to access apps on the Intranet? This is a way to cheaply support Linux.
If you’re looking to support Linux and Windows from the START, then I see your question… and Qt or GTK makes more sense. Most of the time though, Windows comes first in development.
This doesn’t have much to do with Mono’s place in GNOME however… that’s a separate story altogether.
I have never seen a non-trivial .NET app run in mono. (To be honest, I have never seen *any* .NET app run in mono, but I assume somebody has done a simple app, carefully avoiding any MS extensions, in order to prove that it can be done.)
Going the other way, the “free” mono environment is a limited subset of the full .NET environment. So any mono app ported to .NET would be re-written to use the MS extensions, making it work better in Windows. Of course, to use the better/prettier app, users would have to switch to Windows. A subtle lock-in at play, here.
Despite the fact that they share a core language specification (C#) and a core environment specification (.NET), they are really two different animals. Mono will forever be playing “catch-up” with .NET, and will always be “second-class”. Why bother?
Mono needs to be split in two:
- one portion that implements the ECMA standard;
- one portion that contains implementaions of patented .net APIs (the toxic waste).
Leave the first portion on the live CD if you can’t help yourselves (I’m looking at you, Ubuntu and Debian).
Move the second portion to multiverse (or even better to something like medibuntu) where it belongs, next to the w32codecs of the world.
Problem solved, everyone’s happy.
Ubuntu and Debian already do that.
@anon3,
Would you care to elaborate on how “Ubuntu and Debian already do that” ??
Just because it’s covered by a standard does not mean that No one can assert patents against it.
Don’t forget how little protection the DRAM manufacturers had against Rambus even though they were following an industry standard.
“However, mono is not the only tool that the “‘best technology’ Linux camp” has at its disposal. Many view the use of the Qt toolkit as a better alternative, and one that does not have the risk associated with mono.”
Nope, doesn’t cut it. You need a language that
(1) is high-level and memory-safe,
(2) has a reasonable module system,
(3) has an implementation with decent performance,
(4) has a powerful compile-time type system,
(5) supports fundamentals of functional programming such as closures,
and lastly
(6) has a certain critical mass of popularity (because of network effects this is unfortunately important) and has a tool/library ecosystem with a certain level of maturity.
I think C# and .net are actually pretty mediocre designs that are just barely adequate in some of the above areas (the type system for example), but they do more or less meet the criteria, and today NOTHING ELSE DOES. Absence of any of the above is a deal-breaker. (I personally don’t care so much about (6), at least for personal projects, but it’s probably the most important factor for a large contingent unfortunately.)
It’s definitely within the ability of the FOSS community to remedy this situation, and there are quite a few promising avenues here. They fall into two categories: either you start with an established language that is deficient in one or two of 1-5 and remedy the deficiencies, e.g. by adding optional static typing to Python etc., or you start with a well-designed but somewhat obscure language like D, OCaml or Scala and work to make it more prominent and usable.
However, before you can put sufficient resources and energy into solving this problem you first have to admit it IS a problem.
contextfree,
I can see and understand your position. The criteria you have laid out is of course what you personally consider to be highest in priority. However, what happens when we add another point, say point (0)?
(0) The language should be free and non encumbered and allow one to create free and unencumbered implementations and derivative programs.
Unfortunately, at the moment, it seems that Microsoft is not allowing that to happen. We know for sure that the current Mono implementation includes parts that infringe on Microsoft’s patents. Even the so called safe parts of Mono, the ECMA derived C# part, infringes on Microsoft’s patents. It is true that Microsoft has sort of given permission for people to use the ECMA derived C# patents, but under what terms?
http://www.ecma-international.org/publications/files/ECMA-ST/Ecma%20PATENT/ECMA-334%20&%20335/2001ga-123%20&%202002ga-003.pdf
The popular term “reasonable and non discriminatory” has very little real legal meaning.
http://pblog.bna.com/techlaw/2007/01/what_the_heck_d.html
And many prominent free software proponents consider RAND licenses to be unusable:
http://news.zdnet.com/2100-10532_22-298367.html
Besides, those patent grants could expire. As noted in Microsoft’s letter to ECMA, the patent grants expire if ECMA takes away its standard status for the C# programing language. Why would ECMA do that? Who knows? But, lets say that Microsoft at some point sees more value in having C# be a defacto standard than an open standard. Would Microsoft be able to manipulate ECMA into removing its standard status from C#? (Stranger things have happened.
) Yes, I agree that the likelihood of this happening is small, but even the remote possibility of these things happening makes people uncomfortable, as we have seen several times in the past with other software products. (Remember the QPL?)
Maybe you are right in saying that nothing meets all the criteria that is important for you. But, I think there are some languages that do meet your criteria to a very reasonable degree, and that also meet criteria (0). Hopefully in the future a language that meets all our criteria appears. I think it will, but I don’t think it will be Mono.
As the Microsoft can not play the three E game (Embrace-Extend-Extinguish) anymore as that might attract attention of the antitrust authorities, they have invented a different game: Sneak-Extend [Their own version]-Dump [The other version], that would bring the same result: everybody uses Microsoft-endorsed standard.
In this scenario, the patents role is not to sue users or developers (it might backfire), but to sue the potential companies, that might have the nerve to attempt to bring the Sneaked version back to speed with the Extended version.
You have a nice site! Great information!
[...] with The Ohio Linuxfest the fruits are not measurable. Even if bug one wasn’t communicated, I would still be a free software idealist who is happy to see what is [...]
Mono is not having any value for a real developer.
I really don’t see why anyone with a little bit of sense would use it.
Using C/C++,Python,Java with Qt or GTK is much better.
Hopefully, there will be another choice for a cross-platform toolkit: KDE.