November 2nd, 2007

CTP: CTP -NE Beta!

PowerShell Team
PowerShell Team

Next week we’ll be releasing a Community Technology Preview (CTP) of Windows PowerShell V2.0. I’m going to hold off saying what is in it until next week. The purpose of this email is to set your expectations about the CTP.

CTP -NE BETA !

The first thing to get into focus is that a CTP is NOT a Beta release. A CTP is a very early drop of our technology with the following goals:

  1. Let the community understand where we are taking the technology
  2. Let the community provide feedback on that direction IN TIME FOR US TO CHANGE BEFORE WE SHIP.

One of the shared frustrations around Betas is that the feedback comes at a time that is difficult to make changes. At the end of the release, you want to minimize the code changes because one out of every X changes you make breaks something else that you won’t detect. The way it works is that there is a standard for what bugs will get fixed and that standard gets tighter and tighter as the release forward. Given that reality, a number of us are pursuing a CTP approach which provides the community access to our technology at a time where “good ideas” can be acted upon, “changes in direction” can be considered, class names can be changed, classes can be refactored, features cut/added, etc. Once we go into beta, the changes we can consider are dramatically reduced, by the time we hit RC (Release Candidate) we basically are determining whether bugs will explode computers, kill users or destroy economies of small nations. If not, well …. (It is not that bad but it sometimes it feels like that – we get really hard core about not messing you up by introducing changes that could break things that we can’t detect.)

But as Lao Tzu says, things greatest strengths are their greatest weaknesses.

So while the CTP gives you early access to V2:

  1. The functions delivered in CTP WILL CHANGE.
    1. That is the whole point of the CTP. So on the one hand, we want to you grab it, use it, use our APIs, write scripts and a generally bash the heck out of it and let us know what you think. On the other hand, it could all change in the next CTP (or Beta) and you’ll have to go back and change everything. So if you can’t accept that, don’t use the CTP.
      1. Note – we are generally happy with the direction we are going but we already know that there are some changes that probably need to be made.
  2. CTP bits have not gone through the same quality process as BETA bits.
    1. The PowerShell team has a pretty rigorous quality process. Every dev has to successfully run a suite of regression tests before any checkin and then we do > 1million (that number keeps growing) test cases each night. Our nightly builds are always self-host quality. That said, when we get ready for BETA – we kick it in even higher and do extensive self-hosting with a larger audience of users, run long stress tests, hold bug-bashes to find new bugs, etc. There is a LOT of things that we do for BETA that we are not doing for the CTP bits.
    2. We have included a couple of features that are VERY early. Reasonable people could make the case that we should cook these more before making them available. We decided to ship them because we considered important for people to understand where we were going.
  3. Documentation is not complete, edited, reviewed.
    1. You will find errors in our docs. You will find them incomplete. That said, I’m actually pretty surprised by how good they are. Given how fast we’ve been moving, I had VERY low expectations here but the writers where very aggressive and did a great job under difficult circumstances.

This is a tricky blog – I want to entice the right set of people to grab the CTP, kick the tires and then tell us what things to change because they know that they have a real change of getting their suggestions incorporated. I also want to scare off those people that will be unhappy if they use a feature and it goes away or changes in the next CTP.

To quote Robin Williams from the movie DEAD AGAIN: “Someone is either a smoker (CTP user) or a nonsmoker. There’s no in-between. The trick is to find out which one you are, and be that. If you’re a nonsmoker, you’ll know.

If you read the warnings above and said, “AWESOME!” – you’re a CTP user.

If you read the warnings above and had a feeling like there was a squirrel in your shirt – you’re not a CTP user.

Figure out which one you are and be it. J

Jeffrey Snover [MSFT]
Windows Management Partner Architect
Visit the Windows PowerShell Team blog at: http://blogs.msdn.com/PowerShell
Visit the Windows PowerShell ScriptCenter at: http://www.microsoft.com/technet/scriptcenter/hubs/msh.mspx

Category
PowerShell

Author

PowerShell Team
PowerShell Team

PowerShell is a task-based command-line shell and scripting language built on .NET. PowerShell helps system administrators and power-users rapidly automate tasks that manage operating systems (Linux, macOS, and Windows) and processes.

0 comments

Discussion are closed.