All I can say is. Wow. If this is even half of what comes from all of this, Microsoft is no longer the one we all knew, real changes are being effected from inside. Once I see the full details, I’ll post more complete thoughts. Details on the conference call here.
Am I blind, or is noone talking about this? Microsoft finally getting two approved official Open Source licenses is big news. With the approval the two licenses are being renamed:
Microsoft Permissive License (MS-PL) -> Microsoft Public License (MS-PL)
Microsoft Community License (MS-CL) -> Microsoft Reciprocal License (MS-RL)
via sburke, and now numerous other MSDN blogs now as well.
Seriously this must be being treated pretty low key, it’s certainly not being trumpeted from the towers like it should. I heard many pundits say it would never happen…
Scott Guthrie just made an exciting post, starting with .NET 3.5 and VS 2008 the .NET libraries will have source available! This is quite the boon to developers, the ability to drill down to source level while debugging should lead to more accurate code. Of course there could be a downside, namely developers coding around implementation details rather then the exposed methods. But regardless this is a very cool move by Microsoft. It’s being released under the Microsoft Reference License which doesn’t give you a whole lot of rights (none really, other then to look at the source), but it’s something. Considering how important the framework is to Microsoft this is a bold move. For a truly permissive license check out Mono, here’s hoping there’s no “patent/copyright” pollution there either…
Back in the day I used CrimsonEditor alot, it was a good, free source code editor. Unfortunately it was a one man job and the developer stopped maintaining the application in late 2004. Enter the EmeraldEditor group! EmeraldEditor intends to be a new CrimsonEditor-like editor (ugh that’s an awkward scentence), written to be cross-platform and open source. But the news gets better, CrimsonEditor itself was open sourced by it’s author and the EE team has effectively taken over maintenance of it! So grab the code and get cracking! I’m glad to have CrimsonEditor back and look forward to EmeraldEditor.
The latest issue of Redmond Developer News has a column by William F. Zachmann (got to have the middle initial), BTW he doesn’t appear to have a blog…I’m not quite sure how I feel about that. Somehow blogless commentators feel less “authorative” to me…or something. Anyway, he talks about a phenomenon that he terms GWHHMs or Gwhyms, otherwise known as “Geeks WHo Hate Microsoft”. His main point is a good one: “Remain open to alternatives that make sense when they do in fact make sense.” However, I think he comes down a bit to harshly on the “alternatives” in my opinion.
He does a good job of condemning some of the zealotry that’s out there, but unfortunately he really only talks about half the problem. There is another side. GWOLMs (pronounced Qualms) or Geeks Who Only Like Microsoft. Much like Gwhyms, Gwolms are found in every IT department across the Industry. They will turn a blind eye to any and all solutions that are not stamped with the Redmond Seal of Approval. They can cost your company thousands of dollars in licensing fees for potentially inferior products. They are the ones who dismiss AJAX until Microsoft releases their AJAX Library or dismiss Ruby until Microsoft releases IronRuby and then fawn over how wonderful it all is.
Don’t get me wrong, I love Microsoft in a number of ways, I make a living coding in C# using the .NET framework. However I also run Firefox as my main browser and use a GTK based IM Client (Pidgin). I use these not because they are open source or because they are not Microsoft. I use them because they are (in my opinion) the best solutions out there. I recently utilized PDFBox in a solution for the same reasons.
Also, I can not agree with his recommendation to make Microsoft solutions your “default choice”, my advice is to look at all possibilities in a problem area and choose the best one that fits in with your style, budget, and resources. One shouldn’t have a “default choice” in my opinion.
Personally, that’s why I can’t wait for the next CodeMash, a conference like that epitomizes how software development should work (incidentally Microsoft was a sponsor of CodeMash, so even they realize the importance of learning from one another).
A few days after reading Ted Neward’s post about checking your politics at the door and using the right tool for the job, I read this post from “Reed Me” over at Microsoft. Granted, Reed has a point. There’s no one you’ve paid money to (unless, as he points out in his comment, you paid for support) that will update your Time Zone tables for you in order to accommodate the 2007 changes. However, the tone of his post irked me and I had to reply. I won’t go into the details of our back and forth here (you can read our thread at his blog here), but it did make me think of what I think a good programmer should be. So here are my Programming Promises:
- I promise to get the job done.
- I promise to use whatever tools I need to, regardless of politics.
- I promise to listen to the Closed Source and Open Source zealots equally, and then dismiss them.
- I promise to support, as long as I am able, any closed source applications I may release.
- I promise to release open source any applications I can not, or will not, support.
- I promise to learn as many languages and libraries as possible, regardless of politics.
- I promise to engage with as many other programmers as possible, both in person and online, in order to learn from them; regardless of politics.
- I promise to not bash Microsoft nor GNU, nor others like them, everyone has a place in our industry.
- I promise to use both Windows and Linux, both have their uses.
- I promise to ask questions when I don’t know the answer, and answer questions when I do.
- I promise to learn from my mistakes, and to try to the first time.
- I promise to listen to any idea, however crazy it may sound.
That’s all I have for now, I’ll share more as I think of them. What other Programming Promises are you willing to make?