Follow Slashdot blog updates by subscribing to our blog RSS feed


Forgot your password?

All GPLed Code Removed From MonoDevelop 443

rysiek writes "A few days ago, Miguel de Icaza wrote on his blog that the whole of MonoDevelop is now 'free' of GPL-licensed code. 'MonoDevelop code is now LGPLv2 and MIT X11 licensed. We have removed all of the GPL code, allowing addins to use Apache, MS-PL code as well as allowing proprietary add-ins to be used with MonoDevelop (like RemObject's Oxygene).'"
This discussion has been archived. No new comments can be posted.

All GPLed Code Removed From MonoDevelop

Comments Filter:
  • by AlexBirch ( 1137019 ) on Thursday December 24, 2009 @11:34AM (#30544200) Homepage
    To be fair, isn't GPL, yet that's the text editor / presentation software I use.
    Are you going to stop that as well?
    You'd be surprised at how many corporations are going with Sharepoint, it's the silent Apache HTTPD killer and yes, it uses .NET. That said, I've never heard of anyone using it with Mono.
    .NET and C# are pretty amazing technologies, especially with LINQ and Lambda expresssions, couple that with IronPython and you have a cool system.
  • by Nursie ( 632944 ) on Thursday December 24, 2009 @11:36AM (#30544230)

    There's a huge difference between GPL tools (which we at HUGE_CORP I work for use lots of) and GPL code/components.

    We use binaries only, source could potentially lead to allegations of copying. And we make sure not to use any GPL code or components in our products so that we don't need to open them.

    But all-out avoid GPL? No way. We use linux as a dev platform (amongst others) and we use all sorts of FOSS tools with a huge variety of licenses in addition to some commercial stuff.

    You'd be a fool to make avoiding the GPL some sort of mandate.

  • by Anonymous Coward on Thursday December 24, 2009 @11:40AM (#30544260)

    They are up to 3, and have a lot of 3.5 finished, but why let facts get in the way

  • by Lumpy ( 12016 ) on Thursday December 24, 2009 @11:53AM (#30544380) Homepage

    You mean the company you work for hates GPL. The last 5 I worked for, that includes fortune 100 companies like AT&T and Comcast, Loved the GPL and OSS. You should find companies that are nor run by undereducated management that is afraid of the GPL.

  • Re:Use java instead (Score:3, Informative)

    by Pecisk ( 688001 ) on Thursday December 24, 2009 @12:04PM (#30544470)

    LGPL *is* free software.

  • by Anonymous Coward on Thursday December 24, 2009 @12:11PM (#30544540)

    Rumor is that he tried and failed.

  • by miguel ( 7116 ) on Thursday December 24, 2009 @12:16PM (#30544588) Homepage

    We removed the GPL code in MonoDevelop for a couple of reasons:

    (a) to allow it to become a platform that third-party plugin and add-in developers can target.
    (b) to allow us to consume open source code that would otherwise conflict with the GPL (MS-PL licensed code, Apache licensed code, and original BSD licensed code).

    Notice that (a) is the norm for Eclipse and Visual Studio, and that the ecosystem of third party plugins relies on this, both Eclipse and Visual Studio would be severely limited if they limited the plugins to be all GPL licensed. As I explained on the blog post, there are current users that need to run their non-GPL code inside the IDE.

    We want more third party developers to target MonoDevelop, and we want these third parties to consider MonoDevelop a platform that they can target without forcing a license on them. Similar to how the Linux operating system can run code licensed under any license.

    The second reason is just a practical one. In the .NET open source ecosystem there are plenty of libraries and tools available under the MS-PL, Old and New BSD and Apache 2 licenses and we want to be in a position to use those libraries without rewriting it. We already do, and it has saved us a lot of time.

  • Re:Use java instead (Score:0, Informative)

    by Anonymous Coward on Thursday December 24, 2009 @12:27PM (#30544698)

    This article was about the IDE, MonoDevelop. Do you refuse to use Eclipse for Java development because Eclipse is not GPL? Or are you just too dumb to understand what the article is talking about?

  • Re:Richard Stallman (Score:1, Informative)

    by Anonymous Coward on Thursday December 24, 2009 @12:29PM (#30544734)

    You're welcome.

  • by srh2o ( 442608 ) on Thursday December 24, 2009 @12:35PM (#30544790)
    I keep hearing these kind of arguments but reality shows us that contrary to these claims that use of GPL code is growing. The fact is that companies are used to licensing code and complying with the GPL is trivial compared with many of the other licensing steps that the average company has to comply with.
  • by Anonymous Coward on Thursday December 24, 2009 @12:46PM (#30544896)

    Actually, if I need a portable app that runs on Linux and also on Windows/Mac, I just write stuff in C++ and Qt4.

    The ultimate portability.

    So my question is, whats the point?

  • by shutdown -p now ( 807394 ) on Thursday December 24, 2009 @12:53PM (#30544952) Journal

    It's not a rumor [].

  • by jonbryce ( 703250 ) on Thursday December 24, 2009 @12:53PM (#30544960) Homepage

    Sharepoint is an application that runs on IIS. IIS is what is replacing Apache here. Sharepoint replaces some of the content management systems you might run on Apache, whatever they might be.

  • by gbjbaanb ( 229885 ) on Thursday December 24, 2009 @01:19PM (#30545210)

    Yes, I am surprised at how many corporations are going with Sharepoint, yet its such a pile of w*** almost *everyone* at our corp thinks its pants (there are a few corporate yes-men lackeys who 'think' its good). Nobody can find anything on it, even adding search simply means we get thousands of hits for simple terms.

    I can't understand why its spreading like an unfortunate rash at a sex party. Maybe the bosses will realise how bad it is and can it after it stops being used for a few months, but its always hanging in there, someone will post a document to it and suddenly its back to being a essential tool in everyday use.

  • by Anonymous Coward on Thursday December 24, 2009 @01:26PM (#30545264)

    We removed the GPL code in MonoDevelop for a couple of reasons:

    (a) to allow it to become a platform that third-party plugin and add-in developers can target.

    Bullshit. By your logic, it's impossible to load proprietary binary modules in the GPLed Linux kernel. Linus specifically said [] he believes that kernel modules using only a limited, "public" subset of the kernel interfaces can sometimes be non-derived works, thus allowing some binary-only drivers and other LKMs that are not licensed under the GPL.

    So you contend that the GPL won't allow proprietary plugins in a comparatively tiny project like MonoDevelop (and presumably that you couldn't possibly explicitly grant permission allowing them), but anyone with an Nvidia graphics card can run the closed source drivers under Linux.


    Dude, seriously. Just give us the real reasons and let the chips fall where they may. Don't insult us with trivially refuted explanations and expect everyone to dance away happily amidst rainbows and unicorns.

  • by shutdown -p now ( 807394 ) on Thursday December 24, 2009 @01:29PM (#30545302) Journal

    That's the C++ API. Which is completely and utterly irrelevant if you are developing in Python rather than C++.

    wxPython API has its own flaws, which are just as huge. For example, event handling via message maps [], which is directly ported from the C++ API (which in turn got it from the abomination that is MFC). I mean, seriously, this isn't idiomatic Python:

    filemenu= wx.Menu()
    filemenu.Append(ID_EXIT,"Exit", "Terminate the program")
    wx.EVT_MENU(self, ID_EXIT, OnExit)

    A numeric "ID_EXIT" in a supposedly object-oriented framework - WTF?

    Meanwhile, in PyGTK, it's all just objects as it should be, with no manually defined numeric IDs:

    file = gtk.Menu()
    file_exit = gtk.MenuItem("Exit")
    file_exit.connect("activate", OnExit)

    And PyQt is even better:

    file = QtGui.QMenu()
    file_exit = QtGui.QMenuItem("Exit")

  • by dghcasp ( 459766 ) on Thursday December 24, 2009 @01:42PM (#30545424)

    The internet was basically built on the GPL, and most of the code that makes it go was built using the GPL

    You mean built on things like TCP/IP (BSD 4-clause) and Unix (ATT License) that enabled communication between networks?

    Or like sendmail (BSD Licensed) that facilitated adoption of email addresses, instead of the dominant mixed!bang!and!right%associative!email addresses and the X.400 C=US;A=IBMX400;P=EMAIL;G=firstname;S=lastname;O=engineering;OU=email;OU=internet-connectivity style of addresses?

    Or like Usenet (various parts under various BSD licenses) that facilitated the exchange of information, software, and porn before the web even existed? The one that Linus posted his early Linux sources to?

    Or like FTP (BSD license, and/or ATT License) that allowed archiving and known-distribution-points of software way before google made it easy to find things?

    Or like web browsers (all derived, more or less from NCSA Mosaic) which was never open-source, but required paying license fees?

    Or like web servers, like Apache, which had (has) a license that isn't GPL compatable?

    Can you even name any important GPL software (other than emacs) that is in wide use, is important, and is non-derivitive of something already existing under a BSD or proprietatry license?

    gcc: derivitive. Every company around provided c compilers.

    linux: derivitive. Ever hear of Unix?

  • Re:This makes sense (Score:1, Informative)

    by Anonymous Coward on Thursday December 24, 2009 @02:10PM (#30545670)

    The GPL is great for standalone applications but if you want to allow developers to make addons you really have to rethink it. Yes, it ensures that any addon made for the application will be free software however you have to consider the tradeoff; GPL it: everything is GLP'd, some companies/people won't develop or release addons;

    Anybody who wants to write a non-free (as in speech) add-on for free (as in speech) software has failed to divine the reasoning for selecting the GNU GPL as the license for the original piece of software.

    GPL software is shared in the community under terms that ensure equality for all end-users.
    If somebody doesn't want to share, nobody is forcing them to do so.
    However, we don't play this "I'll share but only under my terms" game; where said terms are slanted in favor of one party over another. (Usually slanted in favor of the person who wants to "share" with us.)

  • by MasterOfMagic ( 151058 ) on Thursday December 24, 2009 @02:35PM (#30545926) Journal

    Actually, they're just using the LGPL. If that bothers you, declare your copy to be GPL and follow the restrictions of the GPL, according to the LGPL:

    3. You may opt to apply the terms of the ordinary GNU General Public
    License instead of this License to a given copy of the Library. To do
    this, you must alter all the notices that refer to this License, so
    that they refer to the ordinary GNU General Public License, version 2,
    instead of to this License. (If a newer version than version 2 of the
    ordinary GNU General Public License has appeared, then you can specify
    that version instead if you wish.) Do not make any other change in
    these notices.

        Once this change is made in a given copy, it is irreversible for
    that copy, so the ordinary GNU General Public License applies to all
    subsequent copies and derivative works made from that copy.

        This option is useful when you wish to copy part of the code of
    the Library into a program that is not a library.

  • by Sax Maniac ( 88550 ) on Thursday December 24, 2009 @03:24PM (#30546268) Homepage Journal

    Wha? Qt??!

    You mean the toolkit that requires a goofy cfront-style precompiler and comes with their own string class? Sure, it uses templates, but it's hardly a shining star of modern C++.

  • by miguel ( 7116 ) on Thursday December 24, 2009 @03:36PM (#30546338) Homepage

    As the other poster said, the fact that we do not have 1:1 parity has never been a problem.

    Some other technologies that are subsets and are wildly successful:

    * Android's Java is not a 1:1 mapping to Java either, and that has not prevented it from being successful.
    * iPhoneOS is not MacOS 1:1, and yet, it is incredibly successful.
    * Chrome the browser, does not have every feature of Firefox, that did not stop it either.
    * JBoss is a subset of the full J2EE stack, and for years it has been wildly successful.
    * Linux for years was not even POSIX compliant, and yet, many of us jumped on it, and it became wildly successful.

    In Mono we implement what makes sense, and what people are actually using in day to day applications, we do this using metrics that we obtain from our Mono Migration Analysis that helps us identify which APIs are used, by how many applications and we have collected this data from some 10,000 applications: []

    Call this the data-driven prioritization of development.

    Mono was born as a technology to bring the best that .NET had to offer to Linux, this was initially the c# language and the core libraries. As time went by, Mono evolved in two directions:

    (a) Organica growth: as the Mono community grew, we identify missing features, we envisioned better ways of doing something and created tools, APIs, languages and extensions that mattered to us. In this category you can find things like Gtk#, Taglib#, Cairo#, Cecil, Mono.Options, Mono.Security, Mono.Data, Mono.Math, Mono.Management, Mono's C# REPL, Mono's SIMD extensions, Mono's large array support. Mono's dynamic JIT extensions, Mono's static compiler and much more.

    For instance, today, more than 350 applications on the AppStore and 10 of the top 100 apps in there are built using Mono.

    (b) Better compatibility with .NET: this is a simpler process than coming up with our own APIs. The .NET APIs are documented, there are thousands of applications to test the implementation against, the community is fed directly from the largest middleware stack in the world, so it made sense for us to implement these pieces.

    Is it correct that we do not have a full implementation of .NET, there are a few reasons for this, now with numerals:

    (i) Some APIs are Windows specific, and makes no sense to bring to Linux, in particular things like System.Management which is a thin wrapper around WMI. Our advise: replace that code with Linux and MacOS specific code and use one or the other at runtime.

    (ii) Some APIs are too larger for us to take with our current community. This includes things like WPF and Workflow. If someone steps up, we will embrace them, but until that happens, we are focused on improving the other areas that have more users and that we have more requests to implement. Additionally, the WPF "lite" is a killer stack (also known as Silverlight).

    (iii) Focus, we do not want to spread ourselves too thin.

    As for .NET 4.0: we are not too far from having the core be 4.0 compliant, it is a nice upgrade to the solid 3.5 release. For instance, our C# compiler is already a full C# 4.0 compiler, and we already provide features that Microsoft wont offer until 5.0 (embeddable, reusable compiler, see C# REPL).

    Moonlight is behind Silverlight, but I am not driven by despair, I am driven by the world of possibility. If I were driven by despair, I would not have written a single line of code.

    If Silverlight never succeeds, then who cares how behind Moonlight is. But if Silverlight succeeds, and Linux users want to access that content, but the feature is either broken, not implemented or missing in Moonlight, those users will be in a position to contribute the code, and everyone wins.

  • by steveha ( 103154 ) on Thursday December 24, 2009 @03:51PM (#30546468) Homepage

    Please provide a link to the FSF claiming that the LGPL is "less free" than the GPL.

    Are you trolling? They renamed LGPL from the "Library" GPL to the "Lesser" GPL, because they feel it is less free. It's baked right into the name that they feel it is less free.

    But you asked for a link. Here you go:

    Using the Lesser GPL for any particular library constitutes a retreat for free software. It means we partially abandon the attempt to defend the users' freedom, and some of the requirements to share what is built on top of GPL-covered software. In themselves, those are changes for the worse. []

    Just in case that wasn't clear enough for you, let me rephrase it: according to this link, the LGPL does not protect users' freedom as well as the GPL. It does not maximize freedom as well as GPL. In short, it is less free, according to

    Remember that GNU and FSF are all about the users' freedom. Freedom of any developer to make proprietary software is not viewed as a good thing. A license like GPL that restricts the ability of developers to make proprietary software is viewed as more free.

    On the other hand, fans of the BSD license argue that it is "more free" because anyone may do anything with the software. GNU and FSF reject this idea.


  • by Radhruin ( 875377 ) on Thursday December 24, 2009 @03:52PM (#30546480)
    Actually, Mono is completely different from Wine, and not even Wine is an emulator. It's a native implementation of the CLR and other .NET tools that run on Linux/BSD/etc. If you want to compare it to something, compare it to the JDK.

Marvelous! The super-user's going to boot me! What a finely tuned response to the situation!