I have been spending a lot of my online time on researching “.Net in OpenSource” on request from a friend. Below are presented the results of this research. The sources include – OpenSource websites, replies from Linux/OpenSource community to my queries, and the Microsoft website. I am starting with a bit of a background; some of you might want to skip it.
When we talk of .Net we are referring to a new development platform promoted by Microsoft and standardized by the ECMA (European Computer Manufacturer's Association). This platform consists of a virtual machine (like the JVM), a class library, a language (C#) and a language specification that compilers can follow if they want to generate classes and code.
When we talk of OpenSource we refer to a philosophy that code should be shared and not copyrighted. The code generated for OpenSource is instead copy left-ed which means protected from being copyrighted by anyone by use of licenses like GNU Public license (GPL) and GNU LGPL etc. The sharing of code has given rise to emergence of large collaborative projects that have volunteers working on them from all parts of the globe and developing world class applications.
Now when talking about “.Net under OpenSource” we can mean two things.
When we talk of .Net we are referring to a new development platform promoted by Microsoft and standardized by the ECMA (European Computer Manufacturer's Association). This platform consists of a virtual machine (like the JVM), a class library, a language (C#) and a language specification that compilers can follow if they want to generate classes and code.
When we talk of OpenSource we refer to a philosophy that code should be shared and not copyrighted. The code generated for OpenSource is instead copy left-ed which means protected from being copyrighted by anyone by use of licenses like GNU Public license (GPL) and GNU LGPL etc. The sharing of code has given rise to emergence of large collaborative projects that have volunteers working on them from all parts of the globe and developing world class applications.
Now when talking about “.Net under OpenSource” we can mean two things.
- Code written for .Net (i.e. programs in C#) is shared among developers on the net or otherwise. These programs are OpenSource-d which means protected under GPL which makes them free. However, one cannot call these programs free because, to compile and run them one will still require Microsoft’s Compiler and Virtual Machine which themselves are not free. Thus we find that though such programs will be able to exploit the benefits of sharing by using OpenSource, their development will still be a ‘costly’ affair. Some places for such projects are
- http://www.icsharpcode.net
- http://csharp-source.net
- The other thing that has happened is that even the OpenSource community has appreciated the .Net platform for its approach. Here is what they say – “What makes the Common Language Infrastructure development platform interesting is that it is a good mix of technologies that have been nicely integrated.” Thus they found that Microsoft was in a way helping one of the goals of an OpenSource project called GNOME. This project was itself an attempt to come up with what they call - Common Language Infrastructure.
So GNOME project has decided to do to .Net what GNU did to UNIX in the 80’s. Develop an OpenSource clone of the .Net platform replete with the virtual machine, compiler, and libraries. Now in this project not only be users able to share the C# programs but also share the code for the compiler and virtual machine which run them. This way the costs can be lowered completely as development tools are also free. Further with the codes being open there is a possibility that all bugs in the platform and class libraries will be removed faster than the original Microsoft .Net.
This version of .Net is being christened dotGNU. For more on this goto: http://gotmono.com/
Some projects using dotGNU are - http://beaglewiki.org/
- http://www.gnome.org/projects/f-spot/
- http://foresightlinux.com
Comments
Post a Comment