|
LinuxDig.Com : Linux News : Is Mono Bad for Linux?
Author: HumanX | Tuesday October 12, 2004
As Mono gets closer to becoming a true cross-platform development environment, it seems fear is growing as to whether or not Mono will be bad for Linux by supporting Microsoft.
How could Mono be bad for Linux? Lets look at some of the arguments.
1.C# and the .Net concept begins with Microsoft and support on Linux only further supports Microsoft.
2.Microsoft could one day turn to the open source community and claim patent infringement.
3.Microsoft could cripple the Mono movement by releasing a section of .Net which is closed source and difficult to replicate in functional, therefore crippling Mono's ability to be cross-platform.
I would like to address #1 first. I think porting C# to Linux is a good idea as it brings another language to Linux which is powerful and cross-platform. The possibilities of Java were never achieved for any number of reasons and many people criticize Sun for not opening the environment. So the community created Mono to meet the needs of those developers who would like to create cross platform applications and two, move away from the closed door concept of Java.
Just for the sake of argument, I think Suns position on Java is legitimate. Just as the open source communities stand on moving away from Java is just as legitimate. For the record, Mono has the capability to compile Java into the .net environment.
Mono has addressed the issues of patents by basically crossing the bridge when they get to it. Microsoft has so many patents that it would be impossible to research them all and doing so would stifle development of Mono. The team also feels they are fairly safe from lawsuits. (Visit Mono's website and read the fact for more information about this)
Microsoft could in fact in the future figure out some way to cripple mono on the Windows platform. But if you know C#, then you may in the worst case be forced to compile with Mono and with .net. That could be bad, but it would be bad for Microsoft. C# and .net is meant to kill Java I believe, so Mono is in Microsoft's best interest.
Back to #1. Lets set the record straight here, Linux is not going to catch Microsoft in terms of desktop space anytime in the near future unless a few things happen. First, hardware becomes more compatible and easier to install. Two, more of the software programs that everyday Windows users are used to come to Linux (which I do think is slowly beginning to happen) and three, cross platform development is a little easier for new developers or those coming from the Windows Operating System.
Microsoft has such a wide variety of applications because of development environments like Visual Basic, and whether you like this or not, Linux could really use some type of RAD environment. C# could possibly fill the void Linux has been looking for and with the possibility of .net crossing-platforms, this means more software for everybody. Which then means, more software for Linux.
The security nightmare of Microsoft is hurting that company more then I think they want the public to believe. And if people are given the capability to move to Linux, I believe they will. Developers from the Windows world are not going to hop to Linux and give up all that they know just for fun, they need some motivation.
The Linux desktop has matured and the abundance of good everyday software is apparent, from Open Office to the KDE suite. With .Net and C#, developers and users alike will have the opportunity to share software on both platforms. This will give people the chance or at least the willingness to try Linux I believe. Of course we are a little ways off from the the Mono potential, but Mono is the best thing now for Linux which could attract Windows developers and software.
Untarring and compiling Linux applications has served Linux up to this point, but that will only take Linux so far. Companies do not want to train employees in the art of compiling software and home users new to Linux are most certainly not going to compile software. .RPM and other packaging formats are an improved alternative to compiling software but still lack ease of installation do mostly in part to dependency hunting. The fusion of YUM and RPM is becoming a match made in heaven (almost), but does not quite reach the pinnacle of easy software installation.
Mono presents the possibility of a greater range of applications that are easy to install, develop and free. Why? Because like Java, Mono is a concentrated environment with most needs supplied by the framework itself reducing the likelihood of dependency tracking. This is not a guarantee as Mono does have the capability to integrate with external libraries, but in general, Mono should make for easier installations. Serious applications are always going to depend on C and C++, but more tame applications can come from Mono.
Lastly, with Novell backing Mono, I am certain it cannot fail. Novell is betting the company on Linux and from my standpoint; strategically, they have done a great job reinventing themselves. They now have enterprise level server/software, desktop and server operating systems (Novell Suse Linux), PIM by the name of Ximian and a open source / soon to be commercial version of Mono (Commercial version contains support) . I have simplified this a great deal, but if you spend the time researching Novell, you will see they are building a very serious Linux company.
Now of course Mono is not going to solve every problem and work for every scenario. But I do think Mono can help Linux spread its wings and invite a greater range of applications to the operating system. These newer applications will be easier to install, more professional (looking) and help find the constancy the Linux sometimes lacks.
** IMPORTANT NOTE: Linux can tackle any task now and any application on MAC or Windows can be found their. The difference is ease of installation, robustness (as Linux power is often found at the command line) and consistancy. Harcore Linux users know the power of Linux, but newbies could use a little help. The article is meant to show the possibilities of Mono the new user.
For more information visit:
http://www.go-mono.com
http://www.novell.com
|