In de open-sourcewereld, en dan met name onder de Linux-ontwikkelaars, is een discussie gestart over de toekomst van het platform op het gebied van ontwikkeltalen en -platformen. Hoewel er al geruime tijd op mailinglists over dit onderwerp werd gediscussieerd, is er nu een publieke discussie gestart. De opening werd gegeven door Havoc Pennington, een ontwikkelaar in dienst van Red Hat. Hij werkt onder andere aan Gnome en is nauw betrokken bij diverse projecten van Freedesktop.org.
Havoc Pennington stelt dat er onder de Linux-ontwikkelaars een behoefte is ontstaan aan een hogere programmeertaal die vooral de ontwikkeling van applicaties kan vereenvoudigen. Met name een garbage collector en sandboxen zijn technieken die de laatste jaren aan populariteit hebben gewonnen. In combinatie met een object georiënteerde programmeertaal verbeteren deze technieken de leesbaarheid en onderhoudbaarheid van een programma. Nu Microsoft met het .NET-platform en over enkele jaren met Windows Longhorn standaard deze concepten integraal in het besturingssysteem heeft opgenomen, kan Linux niet achterblijven als het een serieuze concurrent wil blijven.
Hij vindt het dus tijd dat er gediscussieerd gaat worden over welke ontwikkelomgevingen in de toekomst gebruikt zullen gaan worden voor Linux. Pennington stelt dat de belangrijkste kandidaten Java en C# zijn. In zijn artikel noemt hij, volgens zijn bevindingen, de voor- en nadelen van beide talen. C# en een aantal .NET-libraries zijn onder Linux beschikbaar in de vorm van het project Mono. Gebruik van dit project in bijvoorbeeld Gnome heeft volgens hem als nadeel dat veel Linux-ontwikkelaars een natuurlijke afkeer voor Microsoft-technieken hebben en daardoor Mono niet zullen accepteren. Daarnaast heeft Microsoft volgens hem teveel invloed op de ontwikkeling van .NET waardoor het moeilijk zal zijn om een beter product te leveren als open-sourcegemeenschap op basis van Mono.
Java geniet de voorkeur van Havoc Pennington. Volgens hem is Java meer 'open' dan C# en .NET. Alleen is de standaardimplementatie van Sun niet open source waardoor deze niet in Linux gebruikt kan worden. Daarentegen zijn er wel alternatieve projecten die Java implementeren en die wel gebruikt kunnen worden. Met name de GNU-compiler gcj in combinatie met GNU Classpath bieden goede mogelijkheden om Java als standaard programmeertaal in Linux te introduceren.
Verder is Havoc Pennington van mening dat, zodra er een beslissing is genomen over hoe het verder moet, er geen volledige rewrite van applicaties moet plaatsvinden. Een geleidelijke introductie van de nieuwe hogere programmeertaal zal plaats moeten vinden door bestaande code aan een refactoringproces te onderwerpen. Tot slot stelt hij dat het uiteraard de open-sourcegemeenschap is die moet beslissen of, en zo ja, welke programmeertaal moet worden opgenomen in Linux.
Uiteraard zijn op dit artikel de nodige reacties verschenen. Met name uit de hoek van het Mono-project, dat geleid wordt door Ximian, wat weer onderdeel is van Novell. Migual de Icaza, een van de initiatiefnemers van Gnome en oprichter van Ximian, verwerpt een aantal argumenten van Havoc om C# niet te gebruiken. Hij stelt dat C# en .NET wellicht nog meer 'open' zijn dan Java op dit moment. C# en de bijbehorende CLR zijn zogenaamde ECMA-standaarden waarbij Microsoft heeft laten weten dat eventuele patenten van het bedrijf die op deze standaarden betrekking hebben gratis in licentie worden gegeven.
Verder stelt hij dat Sun ook patenten heeft op Java en de bijbehorende libraries. Niet alle API's die onderdeel van het .NET-platform uitmaken zullen vrij te gebruiken zijn, maar dat is geen probleem. De compiler, virtual machine en veel belangrijke classlibraries zijn vrij te gebruiken, aldus De Icaza. Mono kan naar believen op verzoek van de open-sourcegemeenschap worden uitgebreid met nieuwe API's die Microsoft niet hoeft te implementeren. Het is zelfs mogelijk deze eigen toevoeging in te dienen bij ECMA om ze ook als standaard vast te laten leggen. Belangrijk is echter dan wel dat de compatibiliteit met het .NET-framework van Microsoft wordt gehandhaafd, zodat Microsoft-ontwikkelaars makkelijk kunnen overstappen op Linux.
Een andere belangrijke Mono-ontwikkelaar, Paolo Molaro die ook werkt aan GTK+ en Debian, stelt dat een ander voordeel van Mono is dat het niet alleen ondersteuning voor .NET met zich meebrengt. Dankzij het open-sourceproject IKVM.net is er namelijk een Java VM die draait op Mono. Hierdoor is het dus mogelijk om zowel C# als Java te gebruiken, zodat de mensen die Java prefereren boven C# dit ook gewoon kunnen gebruiken. Tot slot stelt Paolo Molaro dat Mono geen ontwikkelaars zal afschrikken, zoals Havoc stelt. De ontwikkelaars die namelijk geen C# willen gebruiken kunnen gewoon in C blijven ontwikkelen.
Uiteraard is de discussie hiermee nog niet afgedaan en is het onduidelijk in welke richting deze zal gaan. Wat wel duidelijk is, is dat er zeer waarschijnlijk verandering op komst staat op het gebied van programmeertalen als het aan de open-sourcekopstukken ligt.