请求评论:.NET和Microsoft产品版本控制问题

请求评论:.NET和Microsoft产品版本控制问题
NOTE: I have had this blog post sitting in my drafts for a few months now. I've gotten close to posting it, held back, then gotten close to posting again. Today I noticed that Microsoft published a patch/update to Entity Framework 4.1 (Code First), a product I personally love and support, and they've called it EF 4.1 Update 1 . Then I decide to post this. This is not intended as a rant or a complaint, although there is frustration on my part. What I want to know from you, is DO YOU CARE. If you do, then I can make sure your voice is heard. If you don't care, that's cool too.

注意:我的草稿中已有此博客文章已有几个月了。 我已经接近发布了,推迟了,然后接近再次发布了。 今天,我注意到微软发布了我个人喜爱和支持的产品Entity Framework 4.1(代码优先)的补丁/更新,他们将其称为EF 4.1 Update 1。 然后,我决定将其发布。 这是不打算作为一个咆哮或投诉,虽然有我的一部分挫折。 我想从您那里知道的是您是否在意。 如果您这样做,那么我可以确保听到您的声音。 如果您不在乎,那也很酷。

I really care about how products are versioned and I'm sure you to do, Dear Reader. Naming Things is Step 0 when it comes to understanding Things. I want to talk to you about some things I've noticed around .NET versioning, and see what your thoughts are so that I might share them with TPTB (The Powers That Be).

亲爱的读者,我真的很在乎产品的版本控制方式,我确定您会这样做。 命名事物是了解事物的第0步。 我想与您谈谈有关.NET版本管理的一些注意事项,并查看您的想法,以便与TPTB(The Powers Be Be)分享。

I noticed recently that Microsoft released something called ".NET 4.0 Platform Update 1." This is an update to the .NET Framework 4 to include new features and functionality around Workflow and Azure. This post isn't specific to this update, but ALL the updates lately, from the .NET Framework, the Entity Framework, SQL Server, and a dozen more.

最近,我注意到Microsoft发布了一个名为“ .NET 4.0 Platform Update 1”的文件。 这是对.NET Framework 4的更新,以包括有关Workflow和Azure的新功能。 这篇文章不是特定于此更新的,而是最近的所有更新,来自.NET Framework,Entity Framework,SQL Server等。

This was concerning to me for a few reasons. First, Platform Update "1" implies a future Platform Update "N+1." Second, when something that is a platform called 4.0 is updated, you'd expect it to be called 4.1 or maybe 4.0.1. 

由于某些原因,这与我有关。 首先,平台更新“ 1”表示将来的平台更新“ N + 1”。 第二,当更新称为4.0的平台时,您希望它被称为4.1或4.0.1。

I've met with that team, and encouraged them to stick with Semantic Versioning and call these updates .NET 4.0.2, etc. I think they hear me, we shall see .The .NET Framework Team agrees and they've said that will be following Major.Minor.Revision now so the next small release will be 4.0.2! However I may be perceived as Chicken Little as I haven't personally collected broad community opinion.

我已经与该团队见面,并鼓励他们坚持使用语义版本控制并将这些更新称为.NET 4.0.2等。 我想他们会听到我的声音,我们将会看到 .NET Framework团队表示同意,他们说现在将遵循Major.Minor.Revision,因此下一个小版本将是4.0.2! 但是,由于我个人尚未收集广泛的社区意见,因此我可能会被视为“小鸡丁”。

If you get the Premium version of Visual Studio, you've got a higher SKU than the Professional version. However, if you choose between Premium and Profession versions of Windows 7, get Professional. It's higher.

如果您获得Visual Studio的高级版,则SKU比专业版更高。 但是,如果您在Windows 7的专业版和专业版之间进行选择,请获取Professional。 更高

I recently noticed other products coming out with "Cumulative Update to SP1" and recently "EF 4.1 Update 1" and similar things, not to mention SQL Server. I really think this is confusing to customers. It certainly is to me. I'd like to know if you agree.

我最近注意到有其他产品带有“对SP1的累积更新”和最近的“ EF 4.1 Update 1 ”以及类似的东西,更不用说SQL Server了。 我真的认为这会使客户感到困惑。 当然对我来说。 我想知道你是否同意。

In my personal opinion, Microsoft has typically done a (poor) job with naming things - I think that's a fair statement with some exceptions like things like Lync, Kinect, Xbox and NuGet. Sometimes there's engineering reasons for versioning, but mostly it's a combination of marketing, lack of coordination between groups in a large company and a lack of community/customer outrage or just apathy. I think when folks work at a large company for many years it's easy to become complacent and stop fighting what is perceived as "small things."

我个人认为,Microsoft通常在命名方面做得(很差)-我认为这是一个公平的声明,除了Lync,Kinect,Xbox和NuGet之类的例外。 有时会有版本控制的工程原因,但主要是市场营销,大公司中的团队之间缺乏协调以及社区/客户的不满或仅仅是冷漠的结合。 我认为,当人们在一家大公司工作多年时,很容易沾沾自喜,而不再与所谓的“小事情”作斗争。

Versioning and naming isn't set in stone. There isn't a technical reason that I know of to call something a Rollup Update Pack. Only willpower and organizational agreement is needed. If it's important to you, and your voice is heard, it'll become important to the people who make these decisions. Personally, I am a big fan of Semantic Versioning both in concept and in practice and I'd like to see its practical common sense take root at Microsoft.

版本和命名并不是一成不变的。 我不知道有什么技术原因可将其称为汇总更新包。 只需要意志力和组织协议。 如果这对您很重要,并且可以听到您的声音,那么对做出这些决定的人来说就变得很重要。 就个人而言,无论从概念上还是实践上,我都是语义版本控制的忠实拥护者,并且我希望看到其实用常识在Microsoft扎根。

Here's how the .NET Framework has been versioned so far. You are all familiar with it, probably because you've had to explain it to your boss at some point.

到目前为止,这是.NET Framework的版本控制方式。 你们都熟悉它,可能是因为您不得不在某个时候向老板解释。

Version Runtime (CLR) Framework
1.0 First Release First Release
1.1 New Small Changes
2.0 New Lots of Changes
3.0 Same as 2.0 WinFX libraries
3.5 Same as 2.0, but new C# 3 Compiler Some Changes
3.5 SP1 Same as 2.0, with C# 3 Whole Lot of Changes
4 New Lots of Changes
4.0 PU1 Same as 4 Workflow and Azure Changes
运行时(CLR) 构架
1.0 初版 初版
1.1 零钱
2.0 很多变化
3.0 与2.0相同 WinFX库
3.5 与2.0相同,但是新的C#3编译器 一些变化
3.5 SP1 与2.0相同,但使用C#3 全部变化
4 很多变化
4.0 PU1 与4相同 工作流程和Azure更改

We can't change the past, but we can influence the future. I would have probably made framework changes Point Releases (.1,.5, etc) and new CLRs or compilers should be Major Releases.

我们不能改变过去,但我们可以影响未来。 我可能已经对框架进行了更改,包括Point Releases(.1,.5等),而新的CLR或编译器应该是Major Releases。

I suspect that product naming folks think that words are easier to understand than numbers, but I think they sell us short. Semantic Versioning would be easier to explain, deal with and sell. I think we need to stop with the Update, Refresh, Rollup, Pack stuff and just change numbers.

我怀疑产品命名的人们认为单词比数字更容易理解,但我认为他们卖空了我们。 语义版本控制将更易于解释,处理和出售。 我认为我们需要停止更新,刷新,汇总,打包内容,而只是更改数字。

Going further, with the release of this new "EF 4.1 Update 1," what should they have called it? I would have said 4.1.5 or 4.2. Probably 4.2 if there were minor new features, and 4.1.5 if it's just patches.

更进一步,随着这个新的“ EF 4.1 Update 1 ”的发布,他们应该怎么称呼它? 我会说4.1.5或4.2。 如果有次要的新功能,则可能为4.2;如果只是补丁,则可能为4.1.5。

Photo via Creative Commons: Original Photo at http://www.flickr.com/photos/nicmcphee/422442291/

通过知识共享提供的照片:原始照片,网址http://www.flickr.com/photos/nicmcphee/422442291/

关于斯科特 (About Scott)

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

斯科特·汉塞尔曼(Scott Hanselman)是前教授,前金融首席架构师,现在是演讲者,顾问,父亲,糖尿病患者和Microsoft员工。 他是一位失败的单口相声漫画家,一个玉米种植者和一本书的作者。

请求评论:.NET和Microsoft产品版本控制问题
请求评论:.NET和Microsoft产品版本控制问题
请求评论:.NET和Microsoft产品版本控制问题
About   关于 Newsletter 时事通讯
Hosting By 主持人
请求评论:.NET和Microsoft产品版本控制问题

翻译自: https://www.hanselman.com/blog/request-for-comments-issues-with-net-and-microsoft-product-versioning