August 29, 2003
Mono Protest; DotGNU
Mono's web site is currently down, in protest over software patents. In the U.S. you can currently patent a software solution (e.g. Amazon.com's one-click shopping [5,960,411]). There are several movements in the EU towards this same situation. Today, several web sites have closed their doors in protest over this issue. I'm not exactly sure how long those sites will be down.
I personally hate where patents have gone in the U.S. over the past several years. It used to be you needed to supply a blueprint and working prototype of a physical object and you would be granted a patent on that specific implementation. In other words, you could patent a thumbscrew with a ridged, round head of 1/2" diameter and threads at a 30 degree angle. But you could not patent the thumbscrew itself. Today, you can patent something like a "Computer facilitated product selling system" [6,594,641]. If you read the abstract you'll notice that this is a business practice patent. In other words, if you want to do business in this kind of way, you're going to have to pay royalties to one Adam G. Southam through Reshare Corporation.
I have a particular issue with the one-click patent because I wrote FlexCart with a one-click shopping feature in it after my work developing shopping cart systems naturally led me towards this feature. I developed this capability independently and without knowledge of Amazon.com's patent filing. My software implemented one-click shopping before the patent was granted, but after it was filed.
For more information about the software patent situation in Europe, visit the Foundation for a Free Information Infrastructure.
Anyway, since the Mono site is down, I went looking for another .NET alternative. The GNU Project has an implementation and development environment named DotGNU. So I installed this, but I'm encountering a runtime error when I try to execute the Hello World program.
August 27, 2003
Moving to C#
This semester, my final semester since I'm graduating early, I am going to continue work on the MPEG-2 super-adaptable video descriptor project I started but only got half-done in my Multimedia Networking class last semester.
Ketan has been working on some stuff at Microsoft over the summer and will be working there still this summer. While over there he had reason to use the MPEG-2 parser I used on my project, but he ported it to Visual C#. So I'm going to move over to his new C# library since it's cleaned up and more functional.
The only issue might be how do I actually make use of C#, since I don't really do Windows development. Looks like I'll use Mono, an open-source implementation of .NET that includes a C# compiler and Common Language Infrastructure runtime.
C# and .NET is Microsoft's response to Java and enterprise-grade development. Some people have picked it up, but Java and its enterprise Java beans has pretty much become the dominating solution. I'll be learning a bit more about that when I take the Enterprise Computing class offered this Fall. It's co-taught by IBM Fellow Diane Pozefsky.