views:

94

answers:

3

I was doing some research into general topics of software engineering and I came across the Java Community Process website:

The JCP is the mechanism for developing standard technical specifications for Java technology. Anyone can register for the site and participate in reviewing and providing feedback for the Java Specification Requests (JSRs), and anyone can sign up to become a JCP Member and then participate on the Expert Group of a JSR or even submit their own JSR Proposal.

Seems like a good idea to me, and there are lots of very well written specifications and reference implementations on the JCP website.

So why is there no .NET Community Process? Is that something that Microsoft could or should start? Maybe they could install it on Codeplex.net and hand over the keys to the community.

+10  A: 

Because honestly, trying to get anything done by a community process takes forever. I believe that's why C# caught up with Java; Microsoft controlled the whole process and therefore could make changes more aggressively than Sun could.

Not saying that a community process is a bad thing, just that it has its downside.

Michael Myers
Whether it's a down or up depends on how much you like language change.
reinierpost
A: 

I would imagine it comes down to company culture and the purpose of the language. Java was intended from the outset to be a cross-platform... platform... that one could target and then expect your software to work on a multitude of OSes. Anything with a JVM, really.

Microsoft does not support cross-platform compatibility. Allegedly MS even attempted to hijack Java and turn it into a Microsoft-only platform. When that failed, they instead built the .NET framework

So back to speculation: Sun wants to encourage the community to support Java adoption on the maximum number of platforms possible, so they work with the community. Microsoft wants to appear to be friendly to the larger community so they tolerate projects like Mono, but they don't actually want it to gain enough traction to compete with their own implementation. To ensure this they must make it as difficult as possible to keep up with the Microsoft implementation of the framework, without doing anything overt that might cause bad PR.

rotard
Sun no longer exists. Oracle bought them, and they didn't cost much. I'm just saying.
Mike Two
I am aware of the buyout, but Sun DID exist when they created Java. I don't see how the buyout is relevant to the discussion at hand
rotard
@rotard - look at how well it worked out for them. Of course the community process wasn't the reason sun became acquirable. But in this context I find it relevant that the company that tried the community process is not around anymore.
Mike Two
Alternatively, considering Java has now been around about 15 years it _might_ have been one of the few profitable projects while much of the rest of Sun didn't work so well. I don't know, _I_ don't have access to Sun's books. Do you?
rotard
@rotard - yes. Everyone has access to their books. They were a public company. I'm sorry if I upset you with my comment. I had no intention of offending you.
Mike Two
I'm not offended. I don't even use Java. I'm just suggesting that just because Sun failed doesn't mean Java and the processes behind it are all bad.
rotard
+1  A: 

Because Microsoft as a corporate entity neither wants nor needs your (or anyone else's) opinion. It imposes a top-down will and may take advice from its own community (e.g. the MSDN) but at the end of the day will do what suits it (and its shareholders).

Sun's PoV at the time would have effectively been to get grass-roots buy-in by way of involving the "community". This wold build a critical mass with which it can compete with Microsoft. Problem is that the power of the community and that sense of ownership doesn't disappear at that critical mass stage, it just means you have more people with more conflicting opinions. Result: Java development slowed over time.

Smalltown2000