Wednesday, September 28, 2005

To .NET 2.0 or to .NOT 2.0

In my spare time (ha!) one of the things I've been doing is redesigning a pretty significant chunk of the FlexWiki engine. I basically had to because I wanted to add security, and the current design isn't extensible enough to do that without causing a major mess.


As I've been going through the code, it has occurred to me that I could benefit from some of the features that .NET 2.0 has to offer. So I'm thinking of upgrading. Here's the catch: it would mean that when I ship the code, everyone's going to have to install .NET 2.0 if they want to use the new version. Hence my dilemma.


See, the tricky part is figuring out how big a deal it is to say, "You must have .NET 2.0 to use FlexWiki." Eventually, of course, it won't be a big deal at all. But right now, it's actually a showstopper, since (AFAIK) you can't go live on the version that corresponds to VS2005 RC1.


Of course, there's basically no chance I'll finish before .NET 2.0 ships. It's too much work, and I'm progressing too slowly for it to be done before November, so I'm not too worried about the licensing situation. But the question remains: how long after November is long enough? Zero days? A year? Obviously, that answer is going to differ from individual to individual, so the challenge is to figure out an answer that's "right enough".


At the moment, I'm thinking that the right thing to do is to go ahead and upgrade. There are a number of reasons why I think this will work. For one thing, like I said, it's not going to be done for a while. For another, there's nothing that says people have to upgrade - they can install it whenever .NET 2.0 becomes an option for them. And finally, because FlexWiki is a web application, and because ASP.NET 1.1 and 2.0 coexist peacefully, the upgrade should be possible for most people.


I'm not going to do the conversion until at least October 1st. I announced my intention a few days back on the FlexWiki Users Mailing List, but I thought it might be a good idea to mention it here as well. If you have comments or advice, feel free to leave a comment or contact me.


  1. For you, and this type of application (targetting web savy people), I think this is a no brainer. Go with 2.0.

  2. Another option would be to ship two versions, 1.1 and 2.0, in the code drop. Freeze the code base for a 1.1 branch and offer that for a while in the drop with the express written intent that it will not be maintained and all bug fixes/features are going into the 2.0 version. After a while, just drop the 1.1 support altogether.

  3. I work for a webhost, and we plan to support 2.0 hopefully by the day it comes out on our shared servers. I can't imagine any other hosters out there that won't upgrade immediately either. And if your host isn't that on the ball, feel free to contact me about getting a new webhost :)

    But as theCoach mentioned, I can't imagine many people running this software would have much of a problem upgrading their server to 2.0 themselves, or finding a better webhost that will provide 2.0 bits on shared accounts

  4. I personally would be quite happy with a 2.0 version

  5. Not that it really affects you, but FYI, the Go-Live license has been extended to cover the RC1.

    As for the primary question - since you're donating your valuable time to produce a free product, I say whatever makes you most productive is fine by me. ASP.NET 2.0 is a huge improvement (mostly) - might as well take advantage of it.

  6. All: thanks for the feedback. It's very useful.

    Jason: yeah, I didn't call it out, but that's what we're planning to do. We'll have 2.0 in the tip release, and branch to fix bugs in the 1.1 release if they're important enough. We think it's a good idea, too.

    Kevin: thanks for the license info. How do you always manage to know just one more little thing about whatever I post? :)

  7. I guess I waste just a little more of my day reading blogs when I should be working than you do. :P

    I don't think the license change was very broadly advertised. I just saw an Microsoft blog post which also said that RC wasn't GL'd, so apparently even some of the 'Softies don't know.