For the most time, I’ve been firmly in the largest camp when it comes to the Mono debate – the ‘I don’t care’-camp. With patent lawsuits being hotter than Lady Gaga right now, that changed. For good reason, so it seems; while firmly in the ‘ZOMG-MICROSOFT-IS-T3H-EVILL!1!!ONE!’-camp, The-Source.com investigated the five most popular Mono applications, and the conclusion is clear: all of them implement a lot of namespaces which are not covered by Microsoft’s community promise thing.
Basically, not all parts of Mono are covered by the ECMA standard – said standard is the only part covered by Microsoft’s community promise. However, you’ll often hear people say that that’s okay because Mono programs included in some Linux distributions only use those parts of Mono that are covered by the ECMA standard, and therefore, are safe to use according to Microsoft’s community promise.
Well, The-Source.com investigated this claim by analysing five popular Mono applications, and their findings paint a grim picture – all of them use namespaces not covered by the ECMA standard, meaning they can still be sued for patent infringement by Microsoft, and so can the distributors that include these programs.
- Banshee: 165 refs
- Tomboy: 36 refs
- F-Spot: 131 refs
- Do: 56 refs
- Gbrainy: 31 refs
This indeed sounds rather problematic. Up until not too long ago, Microsoft did not actively participate in any patent infringement lawsuits as the aggressor, and as such, you could argue that the threat was minimal. However, Microsoft maffia’d several companies into signing patents deals with them, while flat-out suing Motorola.
I still hold out some hope that the United States Supreme Court will put an end to this nonsense here in the US of A…
Unfortunately The glass-half-empty part of me thinks that by the time Software patents are invalidated in the US, Some other significant parts of the world will have finished legitimizing them.
And good old Microsoft have not shied away in the past from shopping for some obscure international venue to attack a competitor.
(Remember Lindows/Lispire?)
Calling Lindows a competitor is being too kind. It was a scummy outfit with a crappy Linux distro. It was one of those cases where the law was with Lindows, but the moral high ground was with Microsoft.
Lindows was supposed to be a miraculous Linux based Windows clone that was 100% compatible with windows applications. It was non free ( $50- $100 yearly) linux distro that sucked.
Well, it has some good feature (Linspire), but it was OpenSourced too late. It really had some of Windows good features and discoverability of new apps directly in the app (and an app store). But the fork of Mozilla/OpenOffice/KDE was terrible.
Now, Xandros+Linspire seem even more doomed than ever.
Lindows was paid $20 million by MS to change their name. But they blew through the cash and had little to show.
Lindows/Linspire was a lame company that deserved to go under.
Edited 2010-12-14 00:22 UTC
Paranoid much?
What does the namespace have to do with the question of whether or not some implementation infringes on a patent; or are we saying that class names can be patented now?
Oh noes “System.Media” was referenced! We must be worried about potential lawsuits.
Agreed – all this means is that those applications rely on an API that falls outside of Microsoft’s assurances around patent infringement. Which isn’t all that surprising, since stuff like media and UI isn’t part of the core language/VM specification.
What it *doesn’t* mean is that the Mono implementation of that API is infringing on patents – only that any infringements that do exist aren’t protected by the assurances around the ECMA stuff.
Considering the state of affairs, isn’t that bad enough though? :/
I’m not paranoid enough to be part of the “zomg it’s only a matter of time!1!1! MS are teh ultimate ev0l!” camp, but I wouldn’t entirely dismiss the possibility of them shutting down mono or other projects if it suddenly makes sense from a business perspective.
I wish MS would extend the list of assemblies included and make an even stronger guarantee, just to shut up the anti-crowd… C# is a darn fine language in and by itself, but without larger parts of the .NET libraries covered some of the incentive for using it is lost.
There really isn’t a good business case though. Who would they sue? There isn’t a Linux company worth suing that would cover the cost of the lawsuit. I really doubt MS cares and is more concerned with Apple when it comes to desktop competition.
Yeah, but it’s not really a reason to complain about Mono specifically. Any piece of software could potentially be infringing any number of patents, and I don’t believe there’s any greater risk from Mono implementing some of these APIs than if they created entirely new ones.
… there’s just something about using the Lyran Commonwealth House Steiner as a icon that just hurts believability.
I’ll bite. No it doesn’t. All it actually means is that the text “using System.Linq” has appeared in the source file. It’s entirely possible that nothing in that particular code file actually uses any member from that namespace. Useless ‘using’ statements tend to crop up a lot because there are no ill effects from having them and it is a pain in the ass to remove them without using some kind of automated tool. Who wants to wander through hundreds of code files removing using statements one after another and checking to see if the build fails?
I wouldn’t be worried if, through being a dominant world power, US laws wouldn’t be forced upon the rest of the world.
Do you really think that the licensing deal’s fees between HTC and Microsoft are paid only by americans? I end up paying for them, while software is not patentable in my country…
Also American justice system doesn’t seem to know their borders…
Seriously.
Every have a conversation with a Mono developer? It’s like talking to a neo-con.
“*logical argument that Mono isn’t safe*”
“SHUT UP! It’s the best development framework and it’s safe because you suck!”
“but *patents, lawsuits etc*”
“NO! It’s fine! SHUT UP! NYEEEEEH!!!!”
Yeah, whatever…
that’s utter bull.
i’m not mono developer, but it is my preferred development environment beside vala. although i’m finding my self more and more writing in vala (if only it had reflection like .Net i’d move away from .Net long ago)
in most cases, what you hear from mono developers is complete silence and avoidance or answer with question “what is safe and not patented?”. last is quite true in my eyes. everyone is so loud about mono and so quiet about other problems.
java for example is being under same wagon, now with oracle haunting it? well, it fares even worse. i don’t hear people abolishing java from distributions.
trouble is that you can’t write 5 lines of code and not infringe some non sense patent. in my eyes, computer patents should be abolished as there is no invention, it is pure rewrite of either normal event or behaivour in some other science. we’re just using computer languages to write that.
Edited 2010-12-13 20:12 UTC
That first line is a perfect example of the lack of self-awareness in the Mono community.
When I said “Mono dev” I meant “dev that uses Mono”.
Look back at any ML/blog discussion on the subject.
Daniel Icxzzxazxca is such a waste of Oâ‚‚ that it’s staggering that anyone puts up with him. The people that do are just as bad.
Edited 2010-12-13 20:17 UTC
Its not like there is dearth of programming languages that are fully implemented in way that is safe to use.
I just don’t understand this fascination with .NET, Mono, or Java for that matter. It seems like very on wants to pretend they are with the big boys.
Word.
I don’t understand GNOME, or even GTK in the face of how good Qt and a number of other toolkits are…
I don’t have to, though. I can just… not use them.
Here’s the difference between Java and Mono:
Java :
+ safe to use the language, vm, ect as long as its from an approved source ( ie Open JDK, ect).
– unsafe to use a non official implementation of the “open” standard. ( aka Harmony)
– unsafe to use parts of the a non official implementation of the open standard to create a pseudo derivative product (aka Android).
Mono :
+ safe ( from Microsoft lawsuits) to use a specific subset of the language.
+ safe to use a non official implementation of the “open” standard.
– unsafe to create a 100% Microsoft compatible implementation.
The problem no one in the mono world has even thought of is the qualifier in there: Safe from Microsoft. Microsoft doesn’t own all of the patents that dot net Relies on. They paid to use Sun patents as well. So even an implementation of the open standard may be subject to lawsuits from Sun/Oracle.
No… Java itself is definitely not in the same wagon. Ever read GPL? OpenJDK is GPL and is distributed by Oracle.
Apache Harmony is in the same wagon as Mono. In fact they are in wagon with less wheels… Harmony doesn’t have even a “promise”. Android is in a better position – due to the fact that Google is behind Android.
That behavior isn’t indicative of a single political group.
In Seattle I was told to shut up when I politely asked an environmentalist where she got her data on local deer populations.
A year or two ago, many open source developers were in favor of Sun’s Java because Sun was so kind, created an open system to design the Java spec (JSR), and all that stuff. Google was in, now Google is busted with Android, LibreOffice wants to reduce dependance on Java, and everbody else is just scared.
Now look at Microsoft, they released the source code of IronPython, IronRuby, F#, ASP.NET MVC, and a widget toolkit for Silverlight. They changed a lot, but in the right sense. 10 years ago nobody would have thought that Microsoft would release open source applications. Also the risk of Microsoft being purchased by Oracle is non significant.
Maybe you are right to be scared of Microsoft, but then stop using Linux Kernel, it has an implementation of FAT!
Maybe the only real alternative for a modern/fast/efficient/open/OO language is D.
.. ah.. Silverlight.. Microsoft hasn’t released the Silverlight DRM I notice. Handy that for keeping Silverlight compatibility crippled on unblessed general purpose OS isn’t it? We’re the newer “open” Microsoft.. sort of.
Good points, but do we have any guarantee it’s not part of an embrace/extend/extinguish strategy? Or that, if it really isn’t and MS’s intentions are (currently) noble, that they won’t come around later because it makes sense businesswise?
I do C#/.NET development on Windows, and I like the platform – and really wouldn’t mind being able to use C# on other platforms, too. But I don’t feel that it’s entirely safe to do so… but it’s not like I trust Java any more, after Oracle got into the picture.
Which seems to be a pretty nifty language, but it’s relatively small compared to C# and Java… guarantees about it not going away, performance being good enough, compiler/stdlib bugs being fixed timely, availability etc?
Yea I used to think that until trying Mono in OSX.
It’s ok in Linux but I would look towards ASP or Silverlight if you want use C# and deliver cross-platform.
Have you heard of this C++ thing? Almost all the software you run is written in it, and it’s neither encumbered nor irrelevant.
No, actually very little software on a typical Linux desktop is written in C++. KDE is the largest user, and most distros default to GNOME.
Yes, but I think it fails the “modern” requirement. C++ is better than C, but there are so many thing it got wrong that it’s not even worth discussing (although there are a lot of things that I like very much about C++). There’s also the fact that a lot of people are going to want a pointer-less language with fast, precise garbage collection. You can argue all you want, but it can hardly be argued that a good, open-source, unencumbered, fast, modern, GC-ed, OO language would not increase development for Linux.
Of the top 10 distributions on Distrowatch:
1 Ubuntu GNOME
2 Fedora GNOME
3 Mint GNOME
4 openSUSE KDE
5 Debian GNOME
6 Sabayon KDE
7 PCLinuxOS KDE
8 Arch agnostic
9 Mandriva KDE
10 Puppy agnostic
… it is 4 each for GNOME and KDE by default. Arch does not have a default, and Puppy’s default is neither GNOME nor KDE. Ubuntu, Fedora, Debian and even Mint have KDE variants, and Sabayon, openSuSe and PCLinuxOS have GNOME variants (not sure about Mandriva).
garbage collection, unencumbered, fast, modern, GC-ed, OO language – D ?
http://en.wikipedia.org/wiki/D_%28programming_language%29
It still has pointers, but there is a “safe” subset.
AFAIK it can use the IDEs, debuggers, libraries and bindings for C and most of C++.
Edited 2010-12-13 22:54 UTC
Well yes, if you don’t actually look at the numbers. but if you do, you’ll notice that the KDE distros tend to be down the bottom of that top-10, and the Gnome distros towards the top. Proportionately, the numbers are about 2-1…
Perhaps in numbers of users, but that is not what the OP was talking about. The original statement was, and I quote:
This is the point which is debatable. After all, in terms of having applications written and ready to ship with distributions, the number of distributions is more important than the number of users of distributions.
The point stands. There are an equal number of top-10 Linux distributions shipping KDE applications by default as there are shipping GNOME applications by default.
By volume of code, not true. Openoffice, browsers… are written in C++. It doesn’t matter much if my clock applet is written in C.
KDE is the largest user, and most distros default to GNOME.
C++ is “good enough”, esp. when you use Qt framework. I don’t see huge advantages with using C#; notably, Qt does memory management for you so GC is no biggie. Closures would be nice to have, but we will have them in c++0x.
I believe managed languages mostly belong to server side.
Again, developers picking up Qt would increase development more than yet another new language that remains fashionable for a while, without ever growing to commercial relevance.
This is subjective at best. Define C++. In fact, define C. I’ve seen C that is basically 90% inline assembler before. I’ve seen C++ that is essentially C with some class based wrappers.
Is this your personal opinion or that of your employer – Nokia? I’ve used Qt.. it’s okay. It’s nice, but it’s no Objective-C, even though Trolltech did a damn fine job making it one of the better C++ UI’s out there.
Speed. Simplicity. Modern features. I seriously could not live without reflection, for example, and reflecting in C++ was painful at best. Also, it’s hard to get around the short falls in the C++ static VMT implementation (or did they fix that in the 20xx spec?) The fact that adding a virtual method to a base class will break the ABI for everything is really bad. It makes shipping applications a real PITA.
Um.. okay. That’s your opinion. I don’t share it. Having done it both ways, I know which I prefer.
No. But then you are entitled to your opinion.
Free Nokia advertisement aside – people could do a lot worse than take up Qt. It is probably the least offensive C++ UI library. Now that it has more agreeable licensing, it is probably worth looking at.
Both. But yeah, Nokia people tend to use Qt and still like it ;-).
Qt has been advancing by leaps and bounds after TT acquisition. E.g. Qt Quick is all the rage these days.
I’m surprised to see someone likes ObjC, I’ve understood it doesn’t really have much virtues by itself, esp. when compared with C++.
That’s debatable, compared to C++. Did MS rewrite IE in C# already? (they might have, didn’t check).
Qt provides reflection (meta object protocol).
It’s alright. You either recompile, or don’t add a virtual method to base class. Retaining ABI is important for libraries/frameworks (like Qt), but apps don’t really need to care.
To remain on topic, taking a look at Qt is a very good idea when considering to use Mono. You don’t risk getting sued (because Nokia clearly can’t sue you for using stuff they themselves distribute with open license), and won’t be in a “second class” situation (with C#, Microsoft .NET & Windows will always be the first class solution, others are also-ran. With Qt, Linux is a first solution).
I also am not that a big fan of Objective-C, but try to use some dynamic language features with C++. It is really a pain to do it properly, if at all.
Why should they?
You gain nothing by rewriting code that works.
This makes the C++ code dependent on Qt, while on C# and other modern languages it is part of the language itself.
This is actually an issue with all OO languages, also know as Fragile Base Class problem.
Well, no. In this instance it’s specifically a C++ issue as C++ creates the VMT statically at compile time. Not every OO language is that strict. Some, and I’m using Objective-C here as an example, will allow the developer to dynamically extend a base class (or any class in the hierarchy), add in whole sections of code to a class or even completely alter the functionality of a method at runtime. Because C++ is entirely static in nature with regards to this situation, it has the fragile base class issue you mention
I think that was argued ad nauseum in the previous comments, with the conclusion being half of the distributions include GNOME and half include KDE.
Whoa, Qt does not do memory management “for you”. You still have to delete just like any C++ framework.
I have no problem with Qt, but C++ with or without it is no substitute for a true, managed, statically-typed language.
With modern C++, delete is for amateurs ;-).
RAII, QObject hierarchy and Implicit Sharing are enough for most development work.
If I recall correctly all the Qt classes take a parent pointer as a constructor argument. The parent keeps track of all it’s children and deletes them when the parent gets deleted. While not the panacea of memory management, it does help a lot. For other things there are always auto_ptr and shared_ptr to ensure proper deletion when resources go out of scope.
Again, people voted this down??
“Oh, here’s some helpful information.”
“FUCK YOU!”
???
Those are usually not needed in Qt programs, Implicit Sharing is the real productivity booster:
http://doc.qt.nokia.com/4.6.2/implicit-sharing.html
QPixmap p1, p2;
p1.load(“image.bmp”);
p2 = p1; // p1 and p2 share data
QPainter paint;
paint.begin(&p2); // cuts p2 loose from p1
paint.drawText(0,50, “Hi”);
paint.end();
Screw C++, D and all these OOP languages… give me a good implementation of FORTRAN and I’ll mop the floor with them…
(LOL)
Well, you can write FORTRAN in any language, or so they say.
Microsoft doesn’t have a patent on FAT itself.
FAT first appeared around 1980, so even if Microsoft did apply for a patent on it then, that patent has long expired by now.
However, Microsoft does still hold some patents related to the method they used to implement “long file names” in a FAT filesystem (originally, FAT file names had to conform to an 8.3 template, and had to be upper case only, “long file names” overcame these restrictions).
“Long file names” have long been a feature of more advanced operating systems such as UNIX. Microsofts patents do not cover long file names per se, but rather, the patents specifically cover a method of recording both a long file name and a short 8.3 file name for the same file at the same time on a FAT filesystem.
Linux doesn’t do that. Linux writes either a long file anme or a short file name, but never both, on a FAT filesystem.
http://arstechnica.com/open-source/news/2009/07/vfat-linux-patch-co…
Just as Linux systems have avoided Microsoft’s FAT patents by simply avoiding the patented functionality, so too should they avoid any Microsoft patents in .NET. This is only common sense.
There is an exceedingly simple way to ensure that … don’t use Mono.
If one doesn’t install Mono, doesn’t use it, doesn’t run it, doesn’t install any applications that depend on it on one’s Linux system, then one cannot be accused of violating Microsoft-held patents, (even by people who do not know what is actually patented).
Thankfully, very decent alternatives exist to all of the Mono-based Linux applications. Avoiding Mono is dead easy (in fact, easier than avoiding FAT-related patents), and completely painless. One doesn’t even have to endure a long-winded examination of namespaces that are not covered by Microsoft’s Community Promise, if one simply isn’t running Mono in the first place.
BTW: Microsft has sued a company called TomTom over FAT-related patents and TomTom’s use of Linux.
Edited 2010-12-13 22:15 UTC
MS is not going all altruistic on us now.
NOPE not really
http://news.slashdot.org/story/10/12/12/1327248/Microsoft-Seeks-1-C…
I was thinking about free software development. If we see what happened to Java and now, not surprisingly, learn that C# is not an option, I wonder what is now a good, free, proven, modern, static checked programming language with a state of the art IDE that supports multiple platforms that could become a successor of C/C++?
The open source community seems to have very strong solutions when it comes to dynamic languages, but not so much for statically checked ones?
Eiffel to the rescue! 🙂
Haskell, Erlang…
There are others, too.
If you require type checking, that kinda throws out CL, but there’s Liskell if you want more flexibility of syntax than Haskell provides.
Everything starts obscure, so that’s no argument in-and-of itself.
Both Haskell and Erlang actually have a relatively large number of useful libraries.
IDE? I’m not sure why one would want one, but some people _seem_ to want to program with a mouse…
I don’t know anything about them, other than I… don’t get it. Emacs user…
Voted down for… being helpful?
I’m not _angry_. It doesn’t affect my life, really.
Just a ‘O_o’ moment.
I think it was your final paragraph that rubbed someone the wrong way.
Yeah, stating that I don’t understand something because I don’t use it…
My Emacs setup doesn’t have a menu bar or buttons of any kind, so I don’t use the mouse.
Mono people are indeed reactionary.
(I don’t expect _this_ one to get high votes…)
Edited 2010-12-14 17:33 UTC
As an Emacs user, you should understand perfectly why someone would want an IDE – it practically *is* one.
As an Eclipse user, I almost never use the mouse, relying almost exclusively (and instinctively) on a huge number of shortcut keys for every conceivable operation. A single application for writing, compiling, running, debugging code? Tools for working with code – renaming, extracting functions, warning of possible errors? Plugins for everything else you could ever want?
Does that not sound at all like Emacs to you?
Yeah.
However, I just… use Emacs.
Eclipse is gigantic and anything it has that Emacs lacks seems to be something I would never want.
Most people who speak of an IDE wouldn’t include Emacs or VIM + *insert extension(s)* in the class of “IDE”.
They usually mean “Approachable GUI IDE”.
_That’s_ what I’m talking about; that when people ask for a good IDE, all I can suggest is Emacs, as I know nothing about the alternatives, because I’ve never wanted to use one since learning Emacs.
Pretty sure “approachable GUI IDE” is an oxymoron… I’ve used a few IDEs over the years, and those capable enough to be worth using tend to have a huge learning curve. Excellent for a developer willing to take time to learn his tools, but very tricky to start with – particularly if coming from the “vi + terminal” school of development.
Oh no, programing with a mouse is so 2000’s.
The cool kids program with the Xbox Kinect now – Its all over engadget.
I love Haskell, but you should be aware that Haskell development is sponsored by Microsoft.
http://research.microsoft.com/apps/dp/search.aspx?q=haskell#p=1&ps=…
Ok…
But they didn’t develop it, nor do they claim ownership.
I don’t care who foots the bill if they don’t call the shots.
The difference here, of course, is that Microsoft did not release .Net under the GPL and then turn around and claim they need to be paid because of the usage of one file. .Net is also unquestionably Microsoft’s invention. There’s is no one else in the mix with prior art as there is with FAT and protocols like SMB.
That’s another weak argument dropped around by many Mono advocates, the notion that somehow this is all just the same as any other patent threat. There is something to be said for reducing your risk……
Edited 2010-12-13 23:03 UTC
Samba has specifications supplied by Microsoft, and the SMB protocol itself is originally an IBM invention.
Any patent on FAT itself has long expired by now.
FAT and Samba are both “interoperability” functionality, and in many cases that would mean that other implementations are permitted by law – anti lock-in laws if you like.
.NET has none of these considerations.
Thankfully, Mono-based applications on Linux are simply not required. One can easily replace all of the Mono-based applications for Linux, and not miss a single thing.
I totally agree. D is the next big thing. And there is a gcc implementation. The LLVM one is not in very good shape.
You know the fat was trimmed into a non-infringing form right? http://www.groklaw.net/articlebasic.php?story=20090401152339514
That kind of thing is >MUCH< easier to do if you not trying to follow a standard which leads you across the mine field.
In previous Mono threads we’ve also been over the fact that the ECMA 335 and 336 are only covered by an extremely flimsy RAND agreement that the ECMA requires. It doesn’t stop anyone claiming patents on the specifications at all. All that happens is that the standards can be dropped from the ECMA leaving everyone in the brown stuff.
That’s why Microsoft and other companies love the ECMA and why the CLR and CLS specifications have not gone through other standardisation processes, such as ISO.
The only thing Mono advocates consistently try and point us to this idiotic Mono FAQ that says that there are somehow patented and non-patented bits. Not only do we see Mono and open source applications using questionable namespaces that you need that the ECMA specs [deliberately] don’t specifiy but the situation is open to being much, much worse.
Edited 2010-12-13 23:02 UTC
The CLR hasn’t been standardized by the ISO, but C# has, twice.
http://www.iso.org/iso/iso_catalogue/catalogue_ics/catalogue_detail…
Edited 2010-12-14 01:37 UTC
The CLR is Microsoft’s implementation of the CLI, which has also been standardized by ISO (CLI/C# et al., always go through ECMA first, then ISO, then the ECMA docs are updated to match final ISO).
http://www.iso.org/iso/search.htm?qt=Common+Language+Infrastructure…
The CLR is not an implementation of the CLI. The CLR is something far larger and more important. The CLI merely specifies what a language and runtime needs to support, such as common types, to interface with each other.
I didn’t know they’d submitted the CLI to the ISO, but the point is that no CLI implementation is workable without a working implementation of a CLR and that hasn’t been submitted to the ISO as far as I’ve ever been aware.
Actually no.
http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail….
Look at the abstract. For those familiar with the ECMA standards, the content included in the ISO standard is almost identical to that of ECMA-335 (Common Language Infrastructure). ECMA-335 is all that is required to implement a Common Language Runtime which is compatible with Microsoft’s implementation. There is no special hidden standard that Microsoft is keeping to itself, it is all there.
I have worked on projects where deep intimate knowledge of the CLI was required (as we were essentially implementing a CLR at the kernel level), and I can assure you that if there were big missing gaps we would have seen them without much effort.
This is just fear, uncertainty, and doubt.
C# is a language. Without an environment in which to run it it’s fairly useless, but of course Microsoft knows that which is why they’re happy about submitting it.
Edited 2010-12-14 10:09 UTC
Yeah if you look back at the other replies to my comment you will see that apparently the CLI has been submitted and published by ISO. And the abstract for that paper shows that it contains much the same information as the publically available ECMA335, which is enough to implement the complete CLR.
The only thing that is suspect is patents on extra APIs that are not mentioned in the standards. Please do not expand this to say that C# or the CLR as described in ECMA335 is not safe, because it is.
According to the Wikipedia page, C# version 1.0 came into existence in January, 2002. I’m not sure when all the relevant patents were issued, but does anybody know just when MONO finally becomes safe to use?
Patents do eventually expire (20 years after filing, I think), but of course Microsoft can file new patents – they do so continuously. Most of the new patents are even more ludicrous than the old ones, but that doesn’t mean the USPTO won’t approve them. In the USA you can patent passing gas after eating too many bean burritos.
I won’t be surprised if a future US government (assuming the country doesn’t collapse) won’t at some point try to extend patents, as they’ve done with copyrights (the author’s lifetime, plus 12,000 years). Whether or not any other country cares is another matter.
Edited 2010-12-14 01:33 UTC
I’d say the USA Empire has around 80 years.
It’s gonna get rough here during my lifetime, but the end result will be better for human society as a whole.
That would be a crazy though but could mono have replicate the namespace name for compatibility sake and make a compatible implementation without copying the actual implementation, if true then they should be safe right ?
Even if unlikely, isn’t it possible to some extends ?
Then most of compatibility would be maintained for a patent free implementation.
Only in the fanboy wars of osnews would a point like this go unnoticed…
“That would be a crazy though but could mono have replicate the namespace name for compatibility sake and make a compatible implementation without copying the actual implementation, if true then they should be safe right ? ”
Of COURSE your right.. thats how come MS can have j# (or j++) but cant call it java.
Thats the premise ANDROID is based on.
I would rather represent myself in court than take any legal advice from here. You people are delusional.. havent you realised almost everything in a pc has an infringing patent?
You all were obviously born yesterday and dont remember…
memory mapped files (owned by sgi).. sold to 3dfx.. purchases by MS for the xbox.. every graphics implementation of open GL and every graphics card infringes on this MS HAS NOT SUED
SAMBA Reverse engineered from MS standards (isnt that illegal in the US?) and reversed the security apis (isnt that breaking DMCA if ms declares their code to be obfuscating)
FAT 32 support for linux , NTFS support for linux
Apple patented the top line of pixels on the screen (thats why windows menus at the bottom).. MS now breaks this patent (you can close a window by clicking on the top line of pixles only AFTER win2k not before)
i could go on and on .. and if you think i need to because u dont see my point. Go and look up some IT patent history 90% of patents are NEVER enforced in it.
Hows that 1 click patent going apple? Amazon never did sell it to anyone else…. yet they still havent sued yet.
I am so sick of this site being ruined by spamming of people who simply dont understand what they are talking about.
The point is not that Android is or is not in violation of Oracle’s patents, but rather the point is that Oracle can make enough of an accusation to be able to bring Android to court. That alone is going to cost Google, “guilty” or not.
That was when MS could win by its tactic of pressuring OEMs to offer nothing but Windows to consumers. That isn’t going to work in the mobile market, as the article points out Microsoft does not control the OEMs in this market.
BTW, Microsoft HAS sued TomTom and Motorola over FAT long file names.
No, not at all. Reverse engineering is a perfectly valid approach to try to uncover a trade secret. SMB is IBM’s invention, not Microsoft’s, so the only “IP protection” Microsoft has over its networking software is the fact that its implementation is a trade secret.
How does Samba recording and analysing “data on the wire” represent an attempt to uncover Microsoft copyrighted code? This is what you need to attempt to answer.
FAT 32 is not patented (long file names on FAT filesystems are). Linux doesn’t write both long file names and short file names.
This one is problematical. However, I don’t see how Microsoft can really expect to uphold any patent on a filesystem … there are heaps of filesystems as prior art.
Apple lost its “look and feel” lawsuit against Microsoft.
Then perhaps you need to go away and figure out what you are talking about then.
Edited 2010-12-14 04:55 UTC
“The point is not that Android is or is not in violation of Oracle’s patents,” .. actually it IS that was my point.
“That alone is going to cost Google” .. actually it wont because google says the handset manufacturers will have to defend themselves in court. Lets see if android is seen to infringe java.. imagine the damages… all that software.. all those phones.. all that money lost. I thought we were trying to avoid patent litigation and here you are saying its a non issue. What are you trying to say here.. google can infringe but everyone else cant?
What are you talking aobut .. these patents were before windows. The patent was in the days of DOS remember 3dfx cards? I never said nobody ever sued.. i just said theres many many patents that companies are NOT enforcing. Are u disagreeing with that? No your not because your hopefully not a complete idiot.. instead your trying to avoid the point.. which i made.. which is a fact.
The law regarding reverse engineering in the computer software and hardware context is less clear, but has been described by many courts as an important part of software development. The reverse engineering of software faces considerable legal challenges due to the enforcement of anti reverse engineering licensing provisions and the prohibition on the circumvention of technologies embedded within protection measures. By enforcing these legal mechanisms, courts are not required to examine the reverse engineering restrictions under federal intellectual property law. In circumstances involving anti reverse engineering licensing provisions, courts must first determine whether the enforcement of these provisions within contracts are preempted by federal intellectual property law considerations. Under DMCA claims involving the circumvention of technological protection systems, courts analyze whether or not the reverse engineering in question qualifies under any of the exemptions contained within the law…
someone elses words not mine… reverse engineering is not simply protected and allowed in the usa.. its under legal debate.. so obviously you wouldnt want to reverse engineer anything ever if you were worried about legal issues. Since we are “worrying” about legal issues my point is perfectly valid.
Refer to point ahead in the USA reverse engineering.. espcially when something is designed to prevent you doing it is sometimes illegal.
If your worried about legality DONT reverse engineer.
FAT 32 is not patented (long file names on FAT filesystems are). Linux doesn’t write both long file names and short file names.
You just said above MS HAS enforced file system patents above… ??? Remember im not saying MS will sue.. or wont.. im mearly saying theres are many patents help by many companies who have no intention of enforcing.
This had little to do with the look and feel court case.. it was a functional patent not a style one. They patentent clicking on the top line of pixels and the great US of A gave them a patent for it.. ditto for amazon and the 1 click patent.
Go team america!
Ok so um exactly where wasnt i right?
Apple lost its “look and feel” lawsuit against Microsoft.
Then perhaps you need to go away and figure out what you are talking about then. [/q]
WTF? What in heavens name are you on about?
The rules in the DMCA disallow reverse engineering of a “technological protection measure” which has been put in place to prevent copying of copyrighted content.
http://en.wikipedia.org/wiki/Digital_Millennium_Copyright_Act
The reverse engineering of networking protocols performed by the Samba team by examining messages “on the wire” does nothing of the kind. There is no “access to copyrighted works” that is circumvented. There is no disassembly of Microsoft code involved, and there is no copying of Microsoft code either in binary or source code form that results. No copyrights are broken by the activity.
The Samba code that is designed and written to implement the protocols is not a copy of Microsoft code, nor is it based on Microoft designs.
Furthermore, the Samba team now has specifications legally obtained from Microsft.
http://news.cnet.com/8301-13580_3-9836784-39.html
http://www.zdnet.com/blog/microsoft/microsoft-and-samba-finally-com…
http://www.pcworld.com/article/140786/microsoft_shares_windows_secr…
I think you must be VERY seriously confused here.
Edited 2010-12-14 10:41 UTC
A well versed internetaholic would realise i was aluding the fact the DMCA is often used when theres not any real encyption just a hidden set of apis.
http://www.guardian.co.uk/technology/blog/2008/nov/28/apple-ipod
Normally supporting a nondeclared 3rd party api (namespace) without reverse engineering is fully legal. Hence j# is allowed but isnt allowed to be called java.
If this dosent change then the whole point of this news item is mute. All its saying is mono (without reverse engineering or stealing ms code) has implemented a 3rd party api without permission.
Many programs do this not just microsoft.. (wine any emulation or vm software etc)…
Google is currently being sued by oracle for implementing java libraries namespace without permission. I would suggest this will fail based on information above.
If oracle wins.. then samba can be sued by ms unless explicit permission is granted for use if ms say their networking protocols are part of its software protection. (see apple example above.. note this hasnt been proven in court properly yet)
I didnt know that, thanks for the info. I beleive ms will NEVER sue mono as microsoft rarely sues anyone. Obviously implicit permission to use is implied when ms provided samba with the documentation so .. its extremely unlike ms would ever sue them (however perhaps potentially still within their right to if namespace patents are enforced.)
The issue you were mainly aluding to is that samba is a clean room implementation and so should be free of patent issues.. your right and i agree (so long as google wins that part of the case which it should as ms and others have previously).
Googles implementation of java is exactly the same as monos of .net only mono has semi direct permission from the owner.
This news item is just part of the pathetic media campaign to blind normal people from seeing the obvious hypocracy of the situation.
Google has issues with sun..
mono has never had any with microsoft (and has more rights to claim they have permission.)
If your worried about patent issues.. drop java/android and use .Net/mono
omg wtf ?? really?? think about it.. u know im right.
A little bit of history thats not “News” but is on the moonlight wikipedia page…
http://en.wikipedia.org/wiki/Moonlight_(runtime)
Very generous for someone preparing to sue mono.. maybe they are lulling them into a false sense of security.. (for you paranoid conspiracy theorists out there)
lolz
But maybe that covenants a lie.. a big trick !!!
Just a reminder oracle is currently suing google.
Why isnt anyone talking about real issues like the fine print here instad of the rediculous lie that ms will sue mono.
Don’t bring samba into this.
Samba in the EU legally won the right to the documentation MS did not give it willingly reason Samba is IBM appointed company to take care of the compatibility between implementations of SMB. So is by law entitled to see all implemented features in the protocol set by anyone implementing the protocol.
Does not matter who you are if you want to extend SMB you are basically required to present it at the Samba setup meetings to compare implementations and share what you have done. Openly and Freely.
MS provide documentation it was defective Samba personal could prove it. MS paid samba to write a test suite for there alterations to the SMB protocals part of that payment is a forever license to any patents MS holds or MS licenses to implement the protocals for all of Samba users including any future MS alterations to the protocals.
So Samba is 100 percent legally covered without question. Yes Samba is no where near the same boat as Mono.
MS is sueing more often common action for a dieing company.
Orcale winning changes nothing here. Samba has the deal Mono should have had.
Java on the other hand has a requirement that you run the test suite to get the patent grant and right to use the trademark and documentation. There is an exception using the GPL version provided by SUN/Orcale.
Google is in trouble with Orcale because they did not read the fine print and obey it. $3000 USD for the testsuite per year and making android pass would have avoided the complete problem.
Mono is in the same issue there is fine print in the MS promise that they are not reading. How many years did appache get away not following the fine print of java before Orcale has ponced. Remember same was said about SUN they would never push the legal side.
Samba is the one in charge of the protocols in the Samba case and MS was the brat doing the wrong thing. So MS lost in court and got hit with a growing fine.
When it comes to Java. Orcale is the standard body Google and apache are the brats.
When it comes to .net Mono is the brat and MS is the standard body. Notice the problem here. When you are the brat you have to play by the rules of the standard body or the one in charge of the protocals can beat the living crud out of you until you obey.
The one in charge of the protocal can wait as long as they want before responding. There is no legal requirement to respond in a short time.
I would mod this insightful if I hadn’t already commented. Excellent point. I think sometimes we assume this rigid idea of “they will sue of course because that’s what patent holders do” and it’s really not when you look at the big picture.
The day I let legal arguments influence my technical choices is the day I chose another occupation.
Those who lead lives in fear of lawsuits are truly to be pitied not debated.
There is no need to let legal arguments influence technical choices to dismiss Mono. Just hava a look at Scala (http://www.scala-lang.org/) and you never consider Mono again:-)
What’s that supposed to solve? It’s just running on top of a JVM and solves nothing in regard to patents.
The patent issues are completely unrelated to the programming languages and name spaces in question. It is perfectly possible to “violate” the software patents relevant to .NET using Commodore BASIC. And it is possible to use the same name spaces with mono without “violating” the patents. Neither interfaces nor programming languares are copyrightable or patentable.
No matter what you do you are at risk of getting sued for patent violation – unless you are one of chosen ones living in an actual free country (which kinda means not USA).
First, there is a legal binding patent grant from Sun/Oracle: http://java.sun.com/javase/6/jdk-6u21-doc-license.txt
But that’s not my point. My point is, if one chooses a platform based on technical aspects, there is no reason to use Mono. Scala is a much better language than C# oder F#. The JVM, especially the garbage collector and the Java class library (especially things like SoftReferences, NIO, java.util.concurrent.*) are much better than what .Net/Mono has to offer.
Edited 2010-12-14 12:47 UTC
This does not protect you at all as a developer using Java. It only protects you if you are implementing a functionality/interface-perfect clone of the JVM. It is unrelated to the languages in question and is of no use as an ordinary developer. Oracle has not promised not to sue users of Oracle JDK or OpenJDK. They have only promised not to sue implementors of Oracle SDK to the extent the implementation is fully correct.
As such you are no more safe using Java, Scala (on top of a JVM, similar to the status of C# in .NET/mono), python, ruby, perl, Open Object REXX and Commodore BASIC.
For what it’s worth you are just as safe with mono as you are with gtkmm, QT or BeOS-api (Haiku and to some extent also Syllable). C++ or C are no safer in this regard. Languages are irrelevant. The promises are merely in regard to implementations of specific VMs and their associated Class Hierachies.
Some might say you are safer with mono and JVM-clones than with C and C++ frameworks because neither Microsoft nor Oracle have promised not to sue users of such frameworks Considering the behaviour of Oracle their promise not to sue is worthless. Just look at Google.
It does protect me as a Java developer because the Java patent grant protects the OpenJDK which is under GPL + classpath exception. So there will always be a open source Java which cannot be sued by Oracle. This is just not true for Mono.
It only protects OpenJDK itself and derivatives that comply fully with the proprietary specification. Oracle can at any given time decide to cease development of OpenJDK and stick to the proprietary Oracle JDK. Then we have a dead OpenJDK that we cannot develop further without the risk of getting sued by Oracle. This is exactly the same risk mono is running.
The “risk” with mono is that U.S.-citizens might end in a situation where their chosen platform is killed off by Microsoft. The “risk” with Java (the VM, not the language) is that U.S.-citizens might end in a situation where their chosen platform is killed off by Oracle.
Of cours, the rest of us, living in countries without software patents couldn’t care less. And I for one refuses to have my freedom limited just because you don’t understand that to be free you must “violate” the software patents. Only through civil disobedience can you bring down the silly laws.
EDIT: Users of python, ruby, Open Object REXX and so on are running the same risks. They too can – in theory – be shut down at any given moment. It is highly unrealistic though, but so is the shutdown of mono and OpenJDK. In case Microsoft/Oracle try to do that, the development will simply carry on on European servers
Edited 2010-12-14 15:24 UTC
Is that your personal opinion or do you have some facts to back up your statement? Personally I prefer Java over C# and Borland C++, but this has nothing to do with the VM in question, nor anything technical, but is simply a better of what I’m accustomed to. OTOH, I prefer Syllable/Haiku API (C++) over Java, and Object Pascal over Syllable/Haiku API. Not at all objective but simply a matter of taste. I don’t find Scala to be anything special, but perhaps I’m just showing my age…
It is my personal opinion. It is based on my experience as a professional .Net and Java developer. The software at my company was initially written in .Net. We later ported it to Java. Thanks to SoftReferences, NIO and java.util.concurrent we could improve the performance and simplify the code at the same time. Swing is way better then Windows.Forms and personally I prefer it over WPF, which does not have fundamental things like MVC for tables etc.
Swing and the JVM interest me.
Basically NeWS and Forth all over again.
That said, the higher-level languages for it _don’t_ interest me much, and with Oracle ruining everything it’s dead to me…
Whether Swing is better than Windows.Forms or not is difficult for me to say. Windows.Forms strongly resembles Borland Delphi (MS.NET is basically Java with Delphi-class hierachy, heh). OTOH, I clearly enjoy working with Swing, though AWT and SWT have their strong sides as well.
I would be extremely fascinated to see a patent on processing XML that would only apply to .Net/Mono and not the 3 trillion other XML processing libraries.
The simple fact is that there really isn’t anything new or novel in the .Net base class libraries. It’s just a nice, coherent collection of common functionality.
If there exists a magical patent that only affects Mono’s usage of XML, then they’ll just port another XML processing library to C#. Same with a Data Abstraction Layer (System.Data), same with LINQ.
All this stuff exists in Java and Python and Perl and PHP and C and C++ and Ruby, etc. If their implementations are somehow “safe” where .Net/Mono’s are not, they can be ported rather trivially.
It seems nobody has pointed out the obvious that a line ‘using Some.Namespace’ has nothing to do with whether or not functionality from that namespace is used or not.
Ok, ‘nothing’ is a bit harsh, but consider:
1. ‘using Foo.Bar’ is only a shorthand to not have to type the full qualifyer each time (eg ‘new Foo.Bar.Baz()’ vs. just ‘new Baz()’)
2. IDE’s tend to give you the boilerplate using-statements at the top when you create a new class leaving you with a few unused ‘using’-statements at the top.
1. Could you explain how “using Foo.Bar” followed by later “Method” (from Foo.Bar) to avoid actually typing “Foo.Bar.Method” is *not* using functionality from “Foo.Bar”?
It seems to me to be the very definition of using functionality from “Foo.Bar”.
2. I’m not familar with any IDE that includes a bunch of boilerplate includes without the programmer setting it up to do so.
I suppose the all the developers for all the applications could be so sloppy that they are just needlessly including libraries they don’t need, expect if you actually look thorough the code, you’ll see they are being used, so that doesn’t hold up, either.
Seriously, it’s *Open Source*. Why speculate? Read the code for yourself.
My point is that ‘user Some.Namespace’ adds *nothing* to your application. It’s merely a convenience to save keystrokes later. It does *not* add a reference to any assembly or include any code what so ever.
But, as you point out in #1:
If you are doing ‘using Foo’ and then call method ‘Bar.Baz()’ in the foo namespace then obviously you are using functionality from Foo.Bar. But that wasn’t what the original article searched for. He only scanned for ‘using’ statements.
Regarding #2. Visual Studio does, and my guess is that MonoDevelop does as well. In most cases that’s what you want anyway and since it doesn’t do any harm (except perhaps naming collisions when you start using more namespaces) it doesn’t ask you beforehand.
Look, I’m not arguing that these apps aren’t using these “tainted” namespaces, I’m just questioning the methods used to come to that conclusion.
Thank you – I’m the author of the blog by the way, so my interest is how I could have more convincingly stated the original post.
I see your points, and appreciate you sharing them.
As an IT professional, my users will NEVER get a desktop using these programs.
@Work, @Home, whatever.
Thus I will never get the painful task of a data/settings migration requested by these users.
As long as there is a doubt on them.
A simple way to keep away from troubles.
I give you clues: Microsoft -> Attachmate -> Novell -> Mono.
Microsoft won’t sue what it, in part at least, owns. Or it’s clients.
Cheers.
(Java situation is much worse).
I agree with your parenthetical statement.
Why? There is a legally binding patent grant from Sun/Oracle, that they won’t sue you if you implement a compliant version of Java: http://java.sun.com/javase/6/jdk-6u21-doc-license.txt. Basically, that means that it is absolutely safe to use OpenJDK.
Microsoft, on the other hand, has only given a promise, which is not legally binding, that they won’t sue anyone that implements parts of .Net. That’s exactly the problem the author of the article focuses on: all widely used Mono applications use parts of .Net that are not covered by the community promise.
In addition, Oracle can probably use the exactly same patents they use to sue Google to sue the Mono project.
So how is the Java situation worse then the .Net/Mono situation?
Edited 2010-12-14 12:56 UTC
That promise is worthless. It protects nobody but the implementors of a fully correct implementation. The ordinary developer cannot use that promise to anything. Besides that the promise is a swizz cheese – just look at Google and tell me: What worth does that promise have? Nada, I tell you. Nada.
I totally disagree with you. The Java patent grant protects the OpenJDK which is under GPL + classpath exception. That means that there is an open-source implementation of Java that cannot be sued by Oracle because of patent infringement.
The same is not true for Mono: there is nothing stopping Microsoft or Oracle from suing Mono because of patent infringements. Microsoft could even sue them for implementing core .Net classes because the community promise is not legally binding.
The only reason Oracle sues Google for Android and not Novell for Mono is that Android is successful and there is some chance to get a lot of money and Mono is not successful, so it is not worth suing them.
The Community Promise IS legally binding. Irrevocably. Forever. Go read it.
http://www.microsoft.com/interop/cp/default.mspx
mono is safe.
At least according to Microsoft: “The type of action Oracle is taking against Google over Java is not going to happen,†said Tom Hanrahan of Microsoft’s Open Source Technology Centre. “If a .NET port to Android was through Mono it would fall under [the Microsoft Community Promise] Agreementâ€.
http://www.developerfusion.com/news/85355/microsoft-says-net-on-and…
http://www.techworld.com.au/article/358564/microsoft_won_t_stop_net…
So, are you arguing that Java is better than C# because Java is owned by a patent troll that potentially sues everyone and that puts Mono at risk?
Yeah… When you get OpenJDK’s sources you are granted the source under GPL. From GPL Preamble I quote:
“Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone’s free use or not licensed at all”
Google, unfortunately, is not covered by those licenses.
Edited 2010-12-14 14:56 UTC
Thats fine and dandy.. but that wont stop microsoft suing for this patent http://www.theinquirer.net/inquirer/news/1528745/microsoft-xml-pate… ..
Since microsoft can and will sue any java developer (even if apparently oracle wont *cough*) at any chance.. all word processors that save in xml file format on all operating systems are about to be paying royalties to microsoft. According to some people who post here anyway.
The skys falling i tell you!
It’s a patent for word processing software that stores data in XML. Sorry, they will have hard time suing just “any java developer”. The patent is quite stupid, but is narrow enough not to care for most people.
Ummm…the Microsoft Community Promise IS legally binding. Just because they used the word “promise” instead of contract or covenant doesn’t keep it from being legally binding. I really wish people would stop repeating this nonsense when they clearly have never actually read the Community Promise.
From the Community Promise itself (what a novel idea):
http://www.microsoft.com/interop/cp/default.mspx
That namespace patents are likely to fail as they have previously, so ms CANNOT sue mono for the reasons suggested in the news post.
If you do not agree sit back and think for a sec.. nobody has proven ANY theft of any code.. the only thing for debate is the names of the libraries NOT the way they are implemented.
All this stuff about oracle not going to sue java implementations is nice conjecture and big call given the current environment..and given that sun /oracles future is in serious doubt and needs $ .. due mainly to MS SQL clusters
Speculating Microsoft is about to go broke is not worth responding to.
HOWEVER There is a chance that microsoft may sue mono for the implementation of mono infringing on a software patent. This has NOTHING to do with the news post.
If ms can sue mono for some xml patent… anyone irrespective of how or why the implemented can be charged a royalty.
Microsoft can sue me if i use texture mapped graphics (look up the patent history yourself).. or if i use a memory mapped file… i hope some of you can actually code so can understand the rather simple ideas im suggesting. Did you know that australian government can charge me for driving my car without a person walking in front of it with a flag (look it up if u really want) ?
This is the law im afraid its woefully out of date and often completely behind the times.
Simple implementation patents for software have been handed out for years… such as the amazon 1 click patent.. or the top pixel line across the screen patent (apple).. just because a patent is grated does not mean it will stand up in court or that litigation is impending.
Nokia Apple and Google are all fighting over patents that are often unenforceable at the moment.. patents that were given to them with no checking for pior art.. or that they are so basic or fundamental (ie texture mapping or mem mapped files)
Microsoft is no more likely to (or be able to) sue mono than java… or android.. or me… or you.
The only patents that are in question are software implementation patents that apply to ALL software that implements them.
It has nothing at all to do with mono. This story is a beat up of a non-issue .. you have been fooled.
You are confusing copyright and patents. Patents cover how it’s implemented. You don’t need to violate copyright. If you create a compatible implementation then most likely you will infringe on a patent.
Oracle is as entrenched in enterprises as much as Microsoft Office is. They also have a s***load of $$$ and a very dependable revenue stream.
Yet, it’s at patent holders digression who to sue, they are not obliged to sue everyone…
So all virtulisation is doomed .. apparently? .. i think you missed the point about it having to be proven in court.
Market cap
Oracle 150 Billion
Microsoft 233 Billion
If its between these two microsoft wins.. besides its portfolio is almost the definition of diverse .. oracles struggling to diversify to protect its future profitability. ie buying Sun My sql etc ..
I only wish amazon had the balls to sue over the 1 click patent.. then we would know. Right to sue doesnt mean youll win.
HA! ROTFMAO! Then Apple beats those two!
Just as a reference that market cap has nothing to do with company’s survival:
Sun $140.16 billion (Y2000)
Microsoft $447.21 billion (Y1999)
Oracle’s current market cap is highest ever
IBM $179.25 billion (current)
Novell $7.5 billion (Y1999)
Apple $2.3 billion (Y1997) $295 billion (current)
Oracle had a very steady growth over last 10 years. Microsoft’s has been decreasing, with only 2010 finally increasing.
Let alone, Microsoft’s income is still centred around OS and Office. Oracle has already a bunch of products that are successful on their own.
Im not entering into this argument its beyond the scope of this news item.
If i was to id mention that
MS SQL is better than Oracle
Windows is better than SunOS
Xbox compared to nothing
Exchange compared to nothing
Sharepoint compared to nothing
Office compared to nothing
OCS / Voip compared to nothing
Windows mobile phones compared to nothing
Hardware / Vertical retail integration
bleh.. why am i even typing this .. why .. i give up.. end of post.
Congratulations to the guys who wrote the apps that were criticized for being ‘unsafe’ with respect to being sued by Microsoft over the use of Mono because they used ‘the wrong namespaces’.
But actually computer programming is not a very safe activity. If you are at all nervous about ‘unsafe things’ you would be better off taking up an activity like knitting or watching TV at home.
You can be over 35 and find that nobody wants to employ you.
You can be an expert at ‘language X’ which then goes out of fashion and find that nobody wants to employ you.
You can work on ‘project X’ which is technically very ambitious, takes 5 years and is never released, and after that you find nobody wants to employ you.
I’ve been a programmer for a long time and have bit hit by all the above major problems. I can confirm that out of all the things you should be worried about as a programmer who wants to have a long career, that using the wrong namespace in your C# program is rather low on the list.
Hmm.
Writing anything solely for money isn’t a safe activity, indeed.
You either end up starving, frustrated, and lonely, wondering why no one will compensate you for what you want to do, or you end up writing trite crap novels with titles like “A is for Alibi”, if one’s writing prose.
I suggest writing for the sake of writing, and then finding a way to make money, be it from said writing or other means.
That said, your bitter rant has little to do with the subject at hand.
‘Bitter rant’ – huh? I am not bitter and find programming in C# rather fun.
Comparing the risk of being sued for writing Free Software using the ‘wrong C# namespaces’ is so infinitesimally small compared with the other everyday risks of being a computer programmer is not a ‘rant’. I am not bitter because I am happily employed. I like C# and have written language bindings for the Qt and KDE apis (Qyoto and Kimono) without anyone paying me and have certainly not been bothered about this imaginary risk stuff.
-_-
s/bitter/cynical
Try splitting a curly one next time.