为什么没有 .NET 社区进程?
我正在对软件工程的一般主题进行一些研究,并且发现了 Java Community Process 网站:
JCP 是一种机制 制定标准技术 Java 技术规范。 任何人都可以注册该网站并 参与审核并提供 Java 规范的反馈 请求(JSR),任何人都可以签名 成为 JCP 会员,然后 参加一个专家组 JSR甚至提交自己的JSR 提案。
对我来说这似乎是个好主意,而且 JCP 网站上有很多写得很好的规范和参考实现。
那么为什么没有 .NET 社区进程呢?这是微软可以或应该开始的事情吗?也许他们可以将其安装在 Codeplex.net 上并将密钥交给社区。
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.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
因为老实说,试图通过社区流程完成任何事情都需要很长时间。我相信这就是 C# 赶上 Java 的原因;微软控制了整个过程,因此可以比 Sun 更积极地做出改变。
并不是说社区流程是一件坏事,只是说它有其缺点。
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.
因为 Microsoft 作为一个公司实体既不需要也不需要您(或其他任何人)的意见。它强加了自上而下的意愿,并且可能会听取其自己社区(例如 MSDN)的建议,但最终会做适合它(及其股东)的事情。
Sun当时的观点实际上是通过让“社区”参与来获得草根阶层的支持。这将形成一个足以与微软竞争的临界质量。问题是,社区的力量和主人翁意识并没有在临界大众阶段消失,它只是意味着有更多的人持有更多相互冲突的观点。结果:Java 开发速度随着时间的推移而减慢。
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.
我想这取决于公司文化和语言的目的。 Java 从一开始就旨在成为一个跨平台……平台……人们可以瞄准并期望您的软件能够在多种操作系统上运行。任何有 JVM 的东西,真的。
Microsoft 不支持跨平台兼容性。据称 MS 甚至试图劫持 Java 和将其转变为仅限 Microsoft 的平台。当失败后,他们转而构建了 .NET 框架
因此回到猜测:Sun 希望鼓励社区支持在尽可能多的平台上采用 Java,因此他们与社区合作。微软希望表现得对更大的社区友好,因此他们容忍像 Mono 这样的项目,但他们实际上并不希望它获得足够的吸引力来与他们自己的实现竞争。为了确保这一点,他们必须尽可能地使其难以跟上 Microsoft 框架的实现,而不做任何可能导致糟糕公关的公开行为。
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.