The Hobbit Hole

In a hole there lived a hobbit. Not a nasty, dirty, wet hole, filled with the ends of worms and an oozy smell, nor yet a dry, bare, sandy hole with nothing in it to sit down on or to eat: it was a hobbit-hole, and that means comfort.

5/24/2009

Code License Conundrum

Filed under: Programming — bilbo @ 7:17 pm

I have been reading Beautiful Code the last few weeks, randomly selecting various articles that sound interesting. The latest article I read was Framework for Integrated Testing: Beauty Through Fragility, which introduced me to the FIT testing framework. It sounds really cool, and through recent research I’ve come to admire Ward Cunningham’s work. This sounded great, as I’ve been looking for a test framework for my little language.

The original FIT by Ward Cunningham is written in Java, but sure enough there is a version for C++, written by David Woldrich. Yeah! I thought this would be great. Unfortunately, the license is GPLv2. Really, it doesn’t matter what version of the GPL is used, if the software is written with it, I can’t look at it. It’s one of the consequences of working at Microsoft*.

As it has been explained to me (and I’m not a lawyer), the GPL is potential poison for Microsoft, or really any company that lives by its intellectual property. If any GPL code were to be found in a Microsoft product, that product could potentially be found in violation of the license and be forced to publish its source code. Therefore, Microsoft requires its engineers to avoid exposure to code under any sort of license that might require that.

That doesn’t mean we can’t use open source products licensed under the GPL, just not look at the code for that product. As FIT is written though, it’s difficult to use without reading the source code to extend it with Fixtures that interface to your code. Too bad. However, as the high level description given in the book is written, it doesn’t sound too hard to imitate, so I’ve decided to write my own C++ version. More work than I wanted, but I really need a good testing framework, and another version of FIT for the C++ world can’t be a bad thing. As I understand it, I should be able to license it as GPLv2, but I just won’t be able to accept contributions.

Don’t get me wrong, I am not personally against the GPL. And I’ve never seen anything from Microsoft officially against the GPL or people’s right to license their software as GPL. (I have heard Steve Ballmer make some references about open source software, but those are the opinions of Steve Ballmer, not the entire organization.) And Microsoft has become much more friendly about contributing open source software. I myself work on an open source project at Microsoft.

Needless to say, but I’ll say it just for the record. I am not a lawyer, and my opinion cannot be interpreted as anything other than that. Also, I do not speak on the behalf of Microsoft.

*There is a FIT book though. I wonder what the difference between looking at published code in a book versus reading it through a code download. I’ll have to check with the Microsoft legal department on their opinion.

5/14/2009

Programmer Competencies

Filed under: Programming — bilbo @ 8:27 pm

I found a very interesting matrix of programming competencies. Kind of scary to me because, despite having programmed for 20+ years, I’m only at level 3 on a few of them and only at level 1 on some of them!

I realize that this is just a single person’s opinion of where the divisions of expertise are, but I would have to agree with most of the assessment.

Has computer science, software engineering, or whatever we term the entirety of this field, reached such a diversification that someone can be level 3 in all of these categories? I don’t know. My initial response is no, but that might be simply because I’m not and therefore it assuages my ego! :)

5/11/2009

Clean Code

Filed under: General — bilbo @ 2:43 pm

“Clean code is code that is pretty much what you expected.”

–Ward Cunningham

via Robert Martin’s keynote at the RailsConf09 keynote. The talk is good. The quote is about 19 minutes into the talk.

5/8/2009

SQL Server Driver for PHP 1.0 April 2009 CU ships!

Filed under: Programming — bilbo @ 11:31 am

Actually it shipped over a week ago, but I’ve been so busy on 1.1 and 2.0 features that I haven’t had the opportunity to breathe it seems, let alone write for the blog.

There are lots of good fixes. You can get the source code for it at http://codeplex.com/SQL2K5PHP.