I’ve been involved in open source for a long time - probably what might be considered a ‘generation’ in this industry. I was a fan of open source before I even knew the term existed - during my formative coding years in the early 90’s I was always releasing code for free and encouraging people to tell me why it sucked, and doing the same for them. Of course, most of the discussion went on over FidoNet, BBS-relayed emails, the very early (pre-WWW) internet and code on FTP sites, but the principle was much the same.
Ok, so I’ve posted my initial feelingsabout tinkering with Mercurial and Git, and that seems to have generated some interest. It’s time to get a bit more formal about how I’m going to evaluate them against each other, to decide which one I like to use most in real, practical scenarios. So, I decided to come up with a list of use cases for the things that I typically have to deal with when managing the repositories for a software project (open source and otherwise), so that I can methodically test them out and see how I feel about each system.
Quick check - ok, the sun is in fact not as black as sackcloth. But today, something earth-shattering happened - Microsoft has contributed code to Linux. I’m sure I’m not alone in thinking that I’d never live to see the day this happened. It’s 20,000 lines of driver code to make Linux run better under Hyper-V, which is of course in their interest (since you have to buy a copy of Windows Server 2008 as the host) , but that’s par for the course for open source contribution (you scratch your own itch!
So, after much initial confusion, sabre-rattling, dispair and finally acceptance (sometimes grudging), the world now pretty much groks open source. In addition, we’re all getting better at doing open source - it’s increasingly obvious what the best practices are in terms of growing and developing an open source project, and of how businesses as well as hippie coders can use and produce it effectively. Increasingly, open source is a known beast, and those that don’t embrace it in some fashion are increasingly looking hopelessly luddite.
There have been cries of joy on the intertubes recently from people who like .Net but who like using it on non-Windows platforms (or believing they have the option to do so), in that Microsoft has extended their Community Promise to Mono, meaning they won’t sue over uses of it. Or so it’s been rather shallowly reported in some circles, more on this below. Firstly I’ll just say that no matter what, this is a positive step.
I can’t remember who made the assertion / joke that if you looked through an infinitely powerful telescope you’d end up seeing the back of of your own head, but I was reminded of that by a certain event today. In the last couple of years I’ve often Googled for a particular subject and ended up with the top hits pointing me back at one of my own posts in the OGRE Forumor on my blog, in a weird self-citing manner.
I reported a few months agoon how pleased I was that Qtwas changing license to the LGPL, something I saw as a watershed for Qt adoption. I already had an awful lot of respect for Qt, but the previous GPL/commercial license did mean that adoption was in two quite widely separated camps - those who were already making GPL software, and those that could afford to license it for other cases.
In a past working life, I used Oracle a fair amount - I used Oracle 7 through 10, and they were pretty decent products. The lineup was pretty simple back then - Oracle was the gruff, stoic mercenary who didn’t talk much and cost a fortune, but had it where it counted - if you could get him to do what you wanted; SQL Server was the approachable and gregarious rogue who was a jack of all trades and came fairly cheap, but had a habit of disappearing into the shadows or asking for more money at more sticky moments; and MySQL was the happy-go-lucky bard who was just along for the ride, happy to work for free so long as it was all just a jape and no-one asked him to do any real work.
I enjoyed reading this post at l2admin, celebrating some of the big names in open source development. Of course, we can all argue about names which didn’t make this particular list (personally I think Larry Walland Guido van Rossumare just two of the important omissions), but what strikes me most - well, except that Mark Shuttleworthis younger than me, which is slightly dispiriting - is how globally representative the list is.
I’ve always been a fan of staying flexible as regards to platform, but it’s especially true these days, since my desktop environment is heterogeneous - I still tend to use Windows most for work, but for personal use I’m most comfy in Mac OS X now. I do have Ubuntu around too although I generally only use it when I have to on the desktop (although I love it to death as a server OS since it takes everything that is great about Debian and updates it a bit).