Those links compare C# 1.0 vs Java in 2000.
C# 1.0 had a few goodies over Java: events, properties, delegates, p/invoke.
C# 2.0 introduced generics, iterators and a handful of extra features and lambdas.
C# 3.0 introduced linq, expression trees.
C# 4.0 introduces dynamic types, optional and named parameters.
Java in the meantime introduced the worst possible kind of generics. That is what happens when you layoff the entire language design team and let the language bitrot for a decade.
If you stick to ECMA + Mono APIs (like Gtk#) you do not need to talk to anyone, you are ready to go.
If you want to use the non-ECMA APIs (Winforms, ASP.NET, ADO.NET) and want to be covered patent-wise and deploy on Linux, you can buy SUSE Linux which comes with a license to Microsoft's
But unless you are costing Microsoft a few million dollars a year in lost revenue, it is not even worth having a lawyer give you a call.
The point is that if Microsoft has a patent on the syntax, then the Community Promise does not extend to Vala, only to C# and supersets of c#.
Mono has been a superset of ECMA for years, some 3 or 4 years ago.
It is definitely a risk for people traveling back in time to 2003 and using Mono.
The goals merely have been upgraded, from its humble beginnings to the juggernaut that it is today.
This is a 2001 interview that was very limited in scope back then:
Listen son, come here and sit by me, and I will explain this to you.
As you grow up, it is normal that you will have some questions, for example "what is that hair doing in my face" or "but wasn't part of the point of Mono to be cross-platform?"
Although this might seem odd to you, there are no problems in these goals.
What you have is:
(a) A foundation, ECMA that can be used to build application from the tiniest embedded device to the largest data center.
(b) A set of APIs that are not covered by ECMA to access databases, build web servers, make your servers communicate and build GUI applications that look like Windows.
(c) A portable set of APIs created by the mono group that is cross platform and was built from scratch, this includes GUI APIs, database APIs and many more.
In fact, you can get a good list from Mono's www.mono-project.com/Libraries
Today the desktop applications that were the source of the controversy are built with (a) and (c), that is Tomboy and the rest of the gang.
Some people might be interested instead in (a) + (b) or (a) + (b) + (c) but the patent license that was issued today does not cover it.
There are a few options for the (b) loving person (now with roman numerals):
(i) They can ignore the patent issue, probably on the grounds that it does not really matter anyways.
(ii) They could ask Microsoft for a license, but this seems like a lot of work and it is hard to tell where to start.
(iii) They could purchase Novell's SUSE Linux which already licenses the patents/technologies.
Let me suggest "Witch Hunters" as the name for your PR firm.
Perhaps you could offer a "Loyalty Review Board" service to smoke out enemies that might have infiltrated the ranks.
You have a point, the risk is larger with
That being said.
Microsoft could only have obtained patents on anything that did not exist in a technology before (prior art).
Considering that everyone on Slashdot keeps claiming that
Neither
Sun *patents* have been granted to people that are using Java.
But Sun can not grant patent rights to anything that Java might infringe. For an actual sample see the Kodak vs Sun lawsuit where Java was found to be infringing Kodak's patents.
The same applies to Java today. As Java evolves, it will likely infringe on third party patents and you could be liable for that infringement.
For instance, consider
If Mono is not kosher because of Microsoft patents, then neither is Java's use of features that they copied back from
Richard Stallman over the years has made it his goal to encourage and promote the creation of free software alternatives of commercial products, patented or not.
RMS decided to clone Unix when he started his GNU project. This was at a time when ATT might have hold patents on the technology:
http://www.gnu.org/gnu/manifesto.html
Microsoft has been vocal about their patent portfolio, but the danger of patents extends beyond anyone that is vocal.
As we saw with SCO, a company that is desperate for revenue will start taping into whatever they have at their disposal. SCO lost market share and tried to capitalize on the Unix IP.
The same can easily happen to any software company today that owns patents and finds itself in financial trouble. They will either try to license their patents or sell the patents for a third party to buy.
SGI was in such situation in 2002/2003 when they sold their OpenGL patent portfolio to Microsoft which now owns the OpenGL patents.
Smaller companies go out of business constantly and sell their patents as a last resort or as part of the bankruptcy proceedings (Chapter 12) that force a company to sell their assets to pay their debt.
Today the FSF is requesting clones for a number of technologies as can be seen here:
http://www.fsf.org/campaigns/priority.html
As the FSF becomes more irrelevant, their list of tasks becomes more irrelevant as well. Most of the work is now driven by external communities and there has not been a need for RMS to push for free implementations of key pieces of software as he did in the past.
Or they sponsor projects like GNUstep that would violate Apple/Nextstep patents as much as Mono would violate Microsoft patents. The only difference being that Apple is more litigious than Microsoft. It is part of their culture.
You can tell the ideals of a nation by its advertisements. -- Norman Douglas