In the Brazilian martial art capoeira, it can be hard to tell if the participants are fighting or dancing. Players cooperate and compete, and spend as much energy trying to impress the crowd and one-up each other as they do in combat. Read the article at ZDNews.
Very insightful. Thanks for the post! That’s all
The Open Source SW crowd is obviously a force to be reckoned with but is it it’s own master?
Indirectly MS can act like the busy Beaver, very selective actions here and there and it can make the river go where ever it wants for a while. It can’t stop it, but it can get some measure of control through these licenses, patents, SDKs, CopyMeIfYouDare apps etc.
Perhaps Army Corp of Engineers is a better comparison,,,,,
Just a thought.
There have been a few stories like this recently about momo and .Net. I just hope that the mono team and dotGNU team don’t lose sight of that fact that microsoft probably has a trick or two up it’s collective sleeves that will most likely render alot of the open source implementation of .net “almost” insignificant.
Microsoft will probably decide to add enough patented or proprietary bits to .net at about the time dotGNU or mono become increasingly complete or successful to render it quasi-compatible. By this time, .net will start to gain some market share and MS will be planning an updated version (extension) to the ECMA spec. By the time mono is workable, MS will update the spec with all the patented bits and MS specific extensions that mono and dotGNU will not be able to implement without some kind of fees, some massive reimplementation of the windows API, or possibly not at all.
However, ms does it, the most likely goal is to occupy the OSS community with implementing v1 of the spec, with the intention of MS to alter and extend the spec behind the scenes. Then when MS is finished implementing v2 of the spec, it will release the spec to the ECMA so that mono and dotGNU can “catch up”. Hah, meanwhile, MS will decide to change it’s stance on patent issues and the proprietary bits about the time that .net gets some good market share. Therefore, there will be the OSS version of .net that only implements a paltry subset of the version that MS extended and won’t allow the OSS to implement.
It would be the perfect plan, let the OSS community try to keep up with the spec for a while so that .net can gain some market share. “It will work on both *nix and MS platforms”, etc, then update, extend and implement the next version of the spec prior to releasing it to the ECMA, so MS still has a head start. Let .net gain the majority of market share while OSS community is trying to catch up. However, change stance on the patent issues and fracture the .net market into MS .net and OSS .net, using either patents or requiring massive reimplentation of windows APIs on *nix. Of course MS .net will have the majority of market share so that the OSS “version” can only implement a subset of all the great API’s that MS devs use and love.
Essentially it is a ruse that MS will allow OSS community to unify the .net market. At a critical point MS will fracture the market and cut off the OSS community but by then they won’t care because they will most likely have a large majority of MS devs converted to the platform and thus still tie it to MS operating system somehow.
Of course OSS will cry foul but MS will come up with some kind of lame excuse about why it intends on enforcing patents, blah blah or give OSS an opportunity to license somethine, yaddah yaddah, it won’t matter at that point because the OSS .net community will get pissed off and try to find a way to catch up and figure out a way around the MS issues. Meanwhile, the market will be flooded with the MS version of .net and yet again, the OSS community will take the shaft from MS. I just hope it doesn’t happen that way…
Actually Capoiera, is not Brazilian. Its originated from the Angolian slaves, who were not allowed to practice martial arts, thus Capoiera was a way to fool the “masters” into thinking the slaves were only dancing.
Let Mono, dotGNU embrace .NET, then extend it.
As a poster on the zdnet site commented, WWI soldiers would come up with a “ground-level” truce, as they got tired of killing each other.
The generals would hear about this, and order them to attack their colleagues on The Other Side.
In the same way, the MS and Mono engineers may, on a technical level, feel like equals with similar goals, but while the Mono guys are doing what they want to do, the MS guys are doing what they’re told to do. If they’re told to break the published APIs, they will not complain “but that’d make life difficult for my friend Miguel”
The part where the article mentions that MSFT and Mono developers are in contact with one another and are presumably sharing some ideas really surprised me.
Maybe .NET/Mono will bridge the *nix and Windows communities in a way that no-one could ever have imagined before (provided MSFT does not sabotage the situation). The potential definitely seems to be there. Apparently we will find out pretty soon as Miguel says that MSFT will be releasing some new specs to the ECMA in the coming weeks ahead.
Actually “capoeira” (the correct spelling) is Brazilian.
The “Angolan” (the correct spelling) slaves who (may have) created it lived in Brazil at the time.
I didn’t care to do any research, but unless someone shows different, these are the facts.
Maybe it just didn’t occur to MS that anyone would actually try to clone .Net and they’re to far along with it to go back?
Actually its a mix of severall African “warior” combat techniquis( sorry for spelling). So from Angola, Congo and some others.
However it evolved into a modern martial arts sport in Brazil. I died almost serverall times but was kept alive by streetgangs and was for a long time a secret of the gangs. Then this century it became populair and now bla bla bla
De Icaza has stated that none of this matters. His goal is to create useful tools for Unix by implementing (the current version of) .NET. If Microsoft changes .NET in the future, so what? Mono still exists and is useful. De Icaza has stated that the ability to do cross-platform development with .NET is a nice benefit, but one that is secondary to the other goals, so if Microsoft breaks “compatibility” with Mono, it’s not a show-stopper.
Go to the Ximian web site and read the FAQ about Mono.
Microsoft can’t hide methods and function calls from users, or else it’s simply unuseable as a development platform! Mono implements those classes in it’s own way, which takes absolutely no code or direction from Microsoft. Theoretically, even if MS put a patent on all the names of the classes in the Framework for example, Mono could just rename theirs and the system would be no worse for it, except that you couldn’t recompile your .NET apps under Mono.
Like Miguel said in the article, they will accomplish _at least_ one of two things. Both have proven their usefulness even this early in development.
Microsoft’s main benefit, is going to come from getting serious projects from Java (J2EE) to .NET
At the moment there hands are tied and they are losing platform sales to big iron like sun and ibm because thats where java runs “best”. Sun has complete control and gives out small amounts piecemeal through the JCP.
I think Microsoft has realised even with really good development tools and libraries, c++ has little compelling benefits for web services, mobile apps etc over Java.
So they need a serious competitor. Enter .NET.
Even if Linux runs .NET apps with no major problems, I’d be surprised if Microsoft don’t keep in front of Linux as a serious platform for deployment. Instead of people running small webapps on Windows and then moving to Sun or IBM, people will move from Linux to Windows. Microsofts .NET platform will be faster, more stable, better marketed and not because of any cheating, just because they can throw so much money and development behind it.
microsofts implementation of dotnet is faster and more widespread? (which it will be, every windows machine will use it.) if Linux have dotnet, any company that have developed commercial apps can very easy convert it to linux. Say for example that Adobe rewrites its Photoshop in C#! There is not even a need for porting at allbecause the bytecode is platform independent. You could actually buy windows .NET apps and run on linux if they were distributed that way…
i’m not trying to be pessimistic, but given MS’s track record of f*cking companies to oblivion (including–at one time–big mama IBM, mind you), i tend to predict there will come a day when the Mono project will wake up and realize, “OMG, we have been f*cked.” over and over again, MS have always managed to get people in bed with them, and then leave in the morning with the victims feeling betrayed. and betrayed they have been.
I take capoeira under c3 here in san diego cali under masters from brazil and just finished my baptism (trained with 12 masterss world wide), and I can say this. It definitely IS brazilian.. it EVOLVED from what the surviving angolians had to offer, but cap in its modern day form is different from that which the slaves used, and even different now than the street fighting format used only 30 years ago (knives, more contact VERY aggressive, little show for the crowd, more to kick ass)..
So, todays version is Brazilian.. and a little hollywood too if you study anywhere but brazil.
Pego
Microsoft will probably decide to add enough patented or proprietary bits to .net at about the time dotGNU or mono become increasingly complete or successful to render it quasi-compatible.
API’s and software are not currently patentable in the European Union. While a handful of big corporations want to change this, the majority of small developers and customers want to maintain the status quo. Not only that, proprietory solutions are increasingly being seen as harmful by developers and customers.
This is got to be one of the most interesting threads i’ve read in while on OSNEWS. I do Taekwon-do myself recently got my 1st Dan Black Belt. Wouldn’t mind doing Capoeira some time in the future, especially now that a Brazlian guy has set up a club in my hometown.
Microsoft will probably decide to add enough patented or proprietary bits to .net at about the time dotGNU or mono become increasingly complete or successful to render it quasi-compatible.
.NET already has propreitary and patented parts, otherwise Mono would have already got 1.0 by now. Much of .NET isn’t open. Much of the patents, however, are mainly on how the way the software is written rather than the API calls itself. Meaning for the nearest future, it is possible for Mono to avoid legal conflict. This is probably the same with dotGNU, but I barely took time to get to know them.
Besides, when GNU started reverse engineering UNIX, wasn’t that as risky as what Mono is doing now?
By this time, .net will start to gain some market share and MS will be planning an updated version (extension) to the ECMA spec.
Looks like they didn’t wait for .Net to gain some market share. Anyway, the only time Microsoft would try to twart Mono and dotGNU is when Java is 100% gone (or at a state ala Netscape). At that time, presumably, Linux would have a much higher market share than it has now, so it doesn’t need bridges like these to get software and software developers.
Then when MS is finished implementing v2 of the spec, it will release the spec to the ECMA so that mono and dotGNU can “catch up”.
True. But if this happen, while for sure Mono and dotGNU would catch up, most software developers would still develop for v1 because most users still use it. Just like most software developers develop for Windows 95/98 onwards, not straight for Windows XP.
Essentially it is a ruse that MS will allow OSS community to unify the .net market.
I don’t see what’s so bad with Microsoft allowing Mono’s existance. On the server space, Linux would soon dominate in half a decade, and is already a major player. It would be stupid if Microsoft tries its best to keep .NET out of Linux and still expect Java to die off.
At a critical point MS will fracture the market and cut off the OSS community but by then they won’t care because they will most likely have a large majority of MS devs converted to the platform and thus still tie it to MS operating system somehow.
Actually, you got it the wrong way. Major developers won’t be using .NET exclusively for the near and perhaps distant future. They would probably mix Win32 and .NET. These apps wouldn’t be available via Mono, so Microsoft cuting off Mono wouldn’t exactly harm us to a large extend.
Meanwhile, Mono presents a good and easy way for future .NET apps to be ported to Linux cost-effectively. The same goes for Wine (would WP Office, CorelDRAW, etc. be available on Linux for even the shortest of time without Wine? Doubt it)
Besides, if Microsoft really does something like you said they would, my respect for Microsoft’s business competence would shatter into a million pieces. Microsoft had traditionally made some stupid mistake, but if they really do what you say they might do, it would be their worst.
Microsoft is loosing a lot of market dominance in the server market with Linux stealing market share from various UNIX developers and therefore building up a much bigger competitive threat (the server market, BTW, is the biggest users of Java). They might also loose some market influence in the desktop and PDA market in the near future to Linux, but inevitably would loose complete dominance to Linux but the end of the next decade (something I predict).
Besides, to the rest of you, it is unlikely Microsoft would purposely break massively binary compatiblity with .NET. Such a event never happen for Win32, and if Microsoft does it for .NET, it would cause a huge backslash. What’s for sure they would extend it.
Besides, to the rest of you, it is unlikely Microsoft would purposely break massively binary compatiblity with .NET. Such a event never happen for Win32, and if Microsoft does it for .NET, it would cause a huge backslash. What’s for sure they would extend it.
I agree it’s doubtful that binary compatibility will be broken. I’m thinking more along the lines of API issues. I predict that they’ll be adding MS-specific APIs that force the implementation of various MS-OS paradigms on linux. A hint of it is in windows forms. It’s a sinister way to corrupt linux by having the OSS community spend time implementing APIs that emulate the win32 platform in the name of .net compatibility. So who really knows where MS will take the spec and start adding various MS specific service APIs in .net “convienence libraries” for the win32 platform that essentially wrap the win32 API. So now mono will have to try to translate the semantics of the win32 API into linux API calls etc. ActiveX, directory services, DirectX (maybe), etc.. I’m sure it’s solvable, I just think it can turn into a large amount of coding time in the name of compatibility but not really adding anything new. It will just be an endless race to keep up and MS will keep throwing curve balls.
Don’t get me wrong, I would definitely program for .net if MS doesn’t jeopardize platform compatibility. I just think java is the first target and then mono/dotGNU will be the next. Linux compatibility through .net is a major threat to MS as a platform since there will be no compelling reason to prefer one over the other all things being equal. So I’m sure you can put money on the fact that MS will try to stack the deck, thumb the scales, or whatever to make sure .net is better on the MS platform, even at the expense of mono.
Mono and myself is very sure Microsoft won’t *start* placing Windows-specific parts into .NET Framework. How do we now? Cause from the beginning itself there is closed Windows-related parts.
Besides, if you are willing to develop for .NET mainly for cross-platform compatiblity, I doubt you would use the Windows-only parts, rather make sure that your program is compatible with Mono.
Miguel’s plans to merge mono in with .NET really does scare me. Do we really want WINPE’s on our *nix systems?? Am I the only one who has this concearn??
If mono becomes part of gnome then it is likely that gnome apps will start to be re-written to use mono, thus the huge overhead of the Mono Runtime will be unnecessarily loaded in memory along with the ELFs. Microsoft will have a huge advantage while us *nix guys will be stuck with a clumsy “emulated” version of dot net with an incomprehensible system with “.so and .dll” files littered in /usr/lib.
Due to mono’s incredible dependence on winapi features like WinMain(), the header files in /usr/include/sys will be no longer used in favor of mono’s Win specific ones.
Just imagine what *nix would be like in 10 years time if Miguels plans to integrate mono into GNOME succeed, and what other core system apps, GNU tools, daemons, .etc would be bound to WinAPI calls.
I am very sceptical about the above occuring (as you should be) but we can’t ignore the possiblity of Miguels ideals catching on.
This is a time where we seriously must ask, do we really want this??? I certainly hope not.