mjg59
Mir is Canonical's equivalent to Wayland - a display server, responsible for getting application pixmaps onto a screen. It's intended to scale from mobile devices to the desktop, and as such is expected to turn up in Ubuntu Phone before too long[1]. There's already plenty of discussion about whether the technical differences between Wayland and Mir are sufficient to justify Canonical going their own way, so I'm not planning on talking about that.
Like many Canonical-led projects, Mir is under GPLv3 - a strong copyleft license. There's a couple of aspects of GPLv3 that are intended to protect users from being unable to make use of the rights that the license grants them. The first is that if GPLv3 code is shipped as part of a user product, it must be possible for the user to replace that GPLv3 code. That's a problem if your device is intended to be locked down enough that it can only run vendor code. The second is that it grants an explicit patent license to downstream recipients, permitting them to make use of those patents in derivative works.
One of the consequences of these obligations is that companies whose business models depend on either selling locked-down devices or licensing patents tend to be fairly reluctant to ship GPLv3 software. In effect, this is GPLv3 acting entirely as intended - unless you're willing to guarantee that a user can exercise the freedoms defined by the free software definition, you don't get to ship GPLv3 material. Some companies have decided that shipping GPLv3 code would be more expensive than either improving existing code under a more liberal license or writing new code from scratch. Android's a pretty great example of this - it contains no GPLv3 code, and even GPLv2 code (outside the kernel) is kept to a minimum.
Which, given Canonical's focus on pushing Ubuntu into GPLv3-hostile markets, makes the choice of GPLv3 an odd one. This isn't a problem as long as they're the sole copyright holder, because the copyright holder is obviously free to ship their code under as many licenses as they want. But Canonical still aim to foster community involvement, and ideally that includes accepting external contributions to their code. If Canonical simply accepted those contributions under GPLv3 then they'd no longer have the right to relicense the entire codebase, so any contributions are only accepted if the contributor has signed a Contributor License Agreement.
Canonical's CLA is pretty simple. In essence, it grants Canonical the right to use, modify and distribute your code, and it grants Canonical a patent license under any patents you own that may cover the code in question. But, most importantly, it grants Canonical the right to relicense your contribution under their choice of license. This means that, despite not being the sole copyright holder, Canonical are free to relicense your code under a proprietary license.
Given Canonical's market goals, this makes sense. They can relicense Mir (and any other GPLv3 projects they own) under licenses that keep their hardware partners happy, and they can ship in the phone market. Everyone's a winner.
Except, if Canonical want to ship proprietary versions, why not just license Mir under a license that permits that in the first place? This is where the asymmetry comes in. The Android userland is released under a permissive license that allows anyone to take Google's code, modify it as they wish and ship it on whatever hardware they want. I could legally start a company that provided customised versions of Android to phone vendors without them having any GPLv3 concerns. I won't be able to do that with Ubuntu Phone.
I'm a fan of GPLv3. I think the provisions it contains to support user freedom are important. I hate the growing trend of using free software to build devices that are, effectively, impossible for the end user to modify. If Canonical were releasing software under GPLv3 because of a commitment to free software then that would be an amazing thing. But it's pretty much impossible to square the CLA's requirement that contributors grant Canonical the right to ship under a proprietary license with a commitment to free software. Instead you end up with a situation that looks awfully like Canonical wanting to squash competition by making it impossible for anyone else to sell modified versions of Canonical's software in the same market.
Canonical aren't doing anything illegal or immoral here. They're free to run their projects in any way they choose. But retaining the right to produce proprietary versions of external contributions without granting equivalent reciprocal rights isn't consistent with caring about free software or contributing to the wider Linux community, especially if it means you get to exclude those external contributors from the market you're selling their code into.
(Edit to add: a friend in the contracting industry points out that it also prevents vendors who won't ship GPLv3 from using external contractors to work on Mir - they have to go to Canonical, because only Canonical can relicense contributions under a proprietary license.)
[1] Right now Ubuntu Phone is using Surfaceflinger, the Android display server, but that's apparently just an interim solution.
Like many Canonical-led projects, Mir is under GPLv3 - a strong copyleft license. There's a couple of aspects of GPLv3 that are intended to protect users from being unable to make use of the rights that the license grants them. The first is that if GPLv3 code is shipped as part of a user product, it must be possible for the user to replace that GPLv3 code. That's a problem if your device is intended to be locked down enough that it can only run vendor code. The second is that it grants an explicit patent license to downstream recipients, permitting them to make use of those patents in derivative works.
One of the consequences of these obligations is that companies whose business models depend on either selling locked-down devices or licensing patents tend to be fairly reluctant to ship GPLv3 software. In effect, this is GPLv3 acting entirely as intended - unless you're willing to guarantee that a user can exercise the freedoms defined by the free software definition, you don't get to ship GPLv3 material. Some companies have decided that shipping GPLv3 code would be more expensive than either improving existing code under a more liberal license or writing new code from scratch. Android's a pretty great example of this - it contains no GPLv3 code, and even GPLv2 code (outside the kernel) is kept to a minimum.
Which, given Canonical's focus on pushing Ubuntu into GPLv3-hostile markets, makes the choice of GPLv3 an odd one. This isn't a problem as long as they're the sole copyright holder, because the copyright holder is obviously free to ship their code under as many licenses as they want. But Canonical still aim to foster community involvement, and ideally that includes accepting external contributions to their code. If Canonical simply accepted those contributions under GPLv3 then they'd no longer have the right to relicense the entire codebase, so any contributions are only accepted if the contributor has signed a Contributor License Agreement.
Canonical's CLA is pretty simple. In essence, it grants Canonical the right to use, modify and distribute your code, and it grants Canonical a patent license under any patents you own that may cover the code in question. But, most importantly, it grants Canonical the right to relicense your contribution under their choice of license. This means that, despite not being the sole copyright holder, Canonical are free to relicense your code under a proprietary license.
Given Canonical's market goals, this makes sense. They can relicense Mir (and any other GPLv3 projects they own) under licenses that keep their hardware partners happy, and they can ship in the phone market. Everyone's a winner.
Except, if Canonical want to ship proprietary versions, why not just license Mir under a license that permits that in the first place? This is where the asymmetry comes in. The Android userland is released under a permissive license that allows anyone to take Google's code, modify it as they wish and ship it on whatever hardware they want. I could legally start a company that provided customised versions of Android to phone vendors without them having any GPLv3 concerns. I won't be able to do that with Ubuntu Phone.
I'm a fan of GPLv3. I think the provisions it contains to support user freedom are important. I hate the growing trend of using free software to build devices that are, effectively, impossible for the end user to modify. If Canonical were releasing software under GPLv3 because of a commitment to free software then that would be an amazing thing. But it's pretty much impossible to square the CLA's requirement that contributors grant Canonical the right to ship under a proprietary license with a commitment to free software. Instead you end up with a situation that looks awfully like Canonical wanting to squash competition by making it impossible for anyone else to sell modified versions of Canonical's software in the same market.
Canonical aren't doing anything illegal or immoral here. They're free to run their projects in any way they choose. But retaining the right to produce proprietary versions of external contributions without granting equivalent reciprocal rights isn't consistent with caring about free software or contributing to the wider Linux community, especially if it means you get to exclude those external contributors from the market you're selling their code into.
(Edit to add: a friend in the contracting industry points out that it also prevents vendors who won't ship GPLv3 from using external contractors to work on Mir - they have to go to Canonical, because only Canonical can relicense contributions under a proprietary license.)
[1] Right now Ubuntu Phone is using Surfaceflinger, the Android display server, but that's apparently just an interim solution.
I think it is a better model than Android
Date: 2013-06-19 10:35 pm (UTC)This lets Canonical do 2 important things:
- Avoid fragmentation (something which Android already has, sadly).
- Benefit from the non-free-software players (which are too used to take everything for free without contributing back; now they would need to contribute back, at least monetarily if it's Canonical's wish).
Complaining about CLAs in open source is bike-shedding. It's already good enough that Mir is GPL instead of proprietary, no?
Re: I think it is a better model than Android
Date: 2013-06-19 10:39 pm (UTC)Re: I think it is a better model than Android
From: (Anonymous) - Date: 2013-06-20 12:02 am (UTC) - ExpandRe: I think it is a better model than Android
From: mjg59 - Date: 2013-06-20 12:27 am (UTC) - ExpandRe: I think it is a better model than Android
From: (Anonymous) - Date: 2013-06-20 03:25 am (UTC) - ExpandRe: I think it is a better model than Android
From: (Anonymous) - Date: 2013-06-20 04:22 am (UTC) - ExpandRe: I think it is a better model than Android
Date: 2013-06-19 11:28 pm (UTC)Erm, CLAs have been, and still remain, a very contentious point among a sizeable number, possibly even a majority, of open source proponents. It comes up at conferences time and time again and was even the topic of a recent-ish panel discussion with Mark S himself. To dismiss it out of hand as "bike-shedding" is really rather disrespectful and disingenuous.
Re: I think it is a better model than Android
From: (Anonymous) - Date: 2013-06-20 07:32 am (UTC) - ExpandRe: I think it is a better model than Android
From: (Anonymous) - Date: 2013-06-20 12:53 pm (UTC) - ExpandRe: I think it is a better model than Android
From: (Anonymous) - Date: 2013-06-20 01:56 pm (UTC) - ExpandRe: I think it is a better model than Android
From: (Anonymous) - Date: 2013-06-20 05:10 pm (UTC) - ExpandRe: I think it is a better model than Android
From: (Anonymous) - Date: 2014-08-20 02:50 am (UTC) - ExpandRe: I think it is a better model than Android
Date: 2013-06-20 12:00 am (UTC)Here's an interesting exercise for anyone who actually believes that Canonical are trying to avoid fragmentation instead of create it, use their position of power in the market to mold it into a business model of their choosing... It goes a little something like this:
1) Visit www.ubuntu.com
2) Try to find the word "Linux" anywhere on the front page. Now follow some of the links, the description of Ubuntu's features, the marketing material. Again try to find the word Linux mentioned. Anywhere.
3) Now, for balance, view www.kubuntu.org, an official spinoff distribution that is sponsored by a company -other- than Canonical. If your eyes aren't failing you, you'll notice that there's literally a link marked "Linux" that leads to kernel.org on the front page.
The kubuntu folks seem proud to announce that they're based on Linux, whereas Canonical in comparison seems to be talking about everything -but- Linux. That's because in the minds of the "greats" like Shuttleworth, Linux is no longer a community project, it's a platform to build their empires upon. Google and Samsung got it right with Android, Canonical want in on that cash desperately. They don't care about the community or their own so-called promise to it any longer, it's the bottom line now, and fragmentation is just another part of it.
Re: I think it is a better model than Android
From: (Anonymous) - Date: 2013-06-20 12:40 am (UTC) - ExpandRe: I think it is a better model than Android
From: mhall119 [launchpad.net] - Date: 2013-06-20 12:43 am (UTC) - ExpandRe: I think it is a better model than Android
From: mirsolutions.de - Date: 2013-06-20 08:19 am (UTC) - ExpandRe: I think it is a better model than Android
From: (Anonymous) - Date: 2013-08-05 11:40 pm (UTC) - ExpandRe: I think it is a better model than Android
From: (Anonymous) - Date: 2013-09-08 09:03 pm (UTC) - ExpandRe: I think it is a better model than Android
From: (Anonymous) - Date: 2013-06-20 12:47 am (UTC) - ExpandRe: I think it is a better model than Android
From: (Anonymous) - Date: 2013-06-20 06:08 am (UTC) - ExpandRe: I think it is a better model than Android
From: (Anonymous) - Date: 2013-06-20 08:41 am (UTC) - ExpandRe: I think it is a better model than Android
From: (Anonymous) - Date: 2013-06-22 03:14 pm (UTC) - ExpandRe: I think it is a better model than Android
From: (Anonymous) - Date: 2013-06-30 04:37 am (UTC) - ExpandRe: I think it is a better model than Android
From: (Anonymous) - Date: 2014-01-13 10:32 pm (UTC) - Expandno subject
Date: 2013-06-19 11:18 pm (UTC)-jef
There is an inbound=outbound
Date: 2013-06-20 12:23 am (UTC)"We agree to license the Contribution only under the terms of the license or licenses which We are using on the Submission Date for the Material (including any rights to adopt any future version of a license if permitted)."
(This isn't to defend Harmony, necessarily, but at least this option is there.)
-Luis
Re: There is an inbound=outbound
From: (Anonymous) - Date: 2013-06-20 03:32 am (UTC) - Expandinbound=outbound
Date: 2013-06-20 03:29 am (UTC)- Richard Fontana
Why GPLv3
Date: 2013-06-20 01:00 am (UTC)GPLv3 is our default license (unless LGPLv3 makes more sense), both for projects with a CLA requirement and those without. Mir uses GPLv3 because we like the GPL for the same reasons you do.
Re: Why GPLv3
Date: 2013-06-20 04:03 pm (UTC)- Richard
Re: Why GPLv3
From: mhall119 [launchpad.net] - Date: 2013-06-24 03:16 am (UTC) - ExpandRe: Why GPLv3
From: (Anonymous) - Date: 2013-06-27 02:29 am (UTC) - Expandno subject
Date: 2013-06-20 01:19 am (UTC)Works for hire aren't considered distribution (in my experience), so a vendor could hire a contractor to write code for Mir. But if the vendor did not want to distribute that code under the GPLv3, then would have to get a different license for Mir from Canonical before they could incorporate the contractor-written code and distribute the result. This doesn't change much though, if they didn't want to distribute under the GPLv3 they would have to get a separate license from Canonical anyway, whether they modified Mir or not.
Debian Derivative
Date: 2013-06-20 02:51 am (UTC)Thanks
http://planet.debian.org/deriv/
Re: Debian Derivative
Date: 2013-06-20 06:48 am (UTC)Unless you believe X11 will forever be the standard display server for linux, this definitely applies to debian as well as any linux distribution.
Re: Debian Derivative
From: (Anonymous) - Date: 2013-10-17 11:07 am (UTC) - ExpandRe: Debian Derivative
Date: 2013-06-20 08:24 am (UTC)Re: Debian Derivative
From: (Anonymous) - Date: 2013-06-20 08:53 pm (UTC) - ExpandRe: Debian Derivative
Date: 2013-06-21 05:51 pm (UTC)FWIW, every time someone talks about removing Matthew's blog from Planet Debian, an army of PDO readers comes out to ask just the opposite. If you don't like it, don't read it.
Don't worry
Date: 2013-06-20 03:05 am (UTC)Re: Don't worry
Date: 2013-06-20 04:13 pm (UTC)Re: I think it is a better model than Android
Date: 2013-06-20 03:07 am (UTC)What's in a name?
Date: 2013-06-20 07:28 am (UTC)The Canonical people have assured me that “Mir” is just its codename and will not be user-visible on the final product (there’s a Launchpad bug for this), so please do the same in journalism.
Thank you!
Re: What's in a name?
Date: 2013-06-20 07:48 am (UTC)Hahahaha!! Get over it.
Re: What's in a name?
From: mjg59 - Date: 2013-06-20 08:07 am (UTC) - ExpandRe: What's in a name?
From: (Anonymous) - Date: 2013-06-20 08:30 am (UTC) - ExpandRe: What's in a name?
From: mjg59 - Date: 2013-06-20 08:39 am (UTC) - ExpandRe: What's in a name?
From: (Anonymous) - Date: 2013-06-20 09:36 am (UTC) - ExpandRe: What's in a name?
From: mjg59 - Date: 2013-06-20 09:49 am (UTC) - ExpandRe: What's in a name?
From: (Anonymous) - Date: 2013-06-20 09:54 am (UTC) - ExpandRe: What's in a name?
From: mjg59 - Date: 2013-06-20 09:56 am (UTC) - ExpandRe: What's in a name?
From: (Anonymous) - Date: 2013-06-20 10:30 am (UTC) - ExpandRe: What's in a name?
From: mjg59 - Date: 2013-06-20 10:34 am (UTC) - ExpandRe: What's in a name?
From: (Anonymous) - Date: 2013-06-24 10:57 pm (UTC) - ExpandEasy to subvert
Date: 2013-06-20 07:50 am (UTC)This is basically what happened with OpenOffice.org. There were lots of patches that Sun did not accept, these got hosted at go-oo. Pretty much everyone (atleast all the linux distros) used the go-oo version. This was an early step in the LibreOffice fork.
Re: Easy to subvert
Date: 2013-06-20 08:50 am (UTC)Please stop complaining about Canonical's CLA and write some awesome patches.
(Code wins arguments.)
Re: Easy to subvert
From: mjg59 - Date: 2013-06-20 08:53 am (UTC) - ExpandRe: Easy to subvert
From: (Anonymous) - Date: 2013-06-20 09:14 am (UTC) - ExpandRe: Easy to subvert
From: papertowlbtrfly.livejournal.com - Date: 2013-06-20 12:03 pm (UTC) - ExpandRe: Easy to subvert
From: (Anonymous) - Date: 2013-06-24 10:59 pm (UTC) - ExpandRe: Easy to subvert
From: (Anonymous) - Date: 2013-06-20 08:51 am (UTC) - ExpandRe: Easy to subvert
From: (Anonymous) - Date: 2013-06-20 09:14 am (UTC) - ExpandSad.
Date: 2013-06-20 10:58 am (UTC)Re: Sad.
Date: 2013-06-20 03:10 pm (UTC)Anon. :-)
Re: Sad.
From: mirsolutions.de - Date: 2013-06-21 02:48 pm (UTC) - ExpandThe skewed playing field
Date: 2013-06-20 11:21 am (UTC)Outside of Canonical: why would someone who prefers BSD licenses accept it being publicly released only as GPL; or why would someone who cares about GPL accept the CLA if it allows Canonical to build a closed proprietary distribution out of it?
CLA will probably doom Mir
Date: 2013-06-20 01:52 pm (UTC)I'm sure Mir has its technical merits, and they have great people working on it, but I'd place my chips with Wayland long term due to the above.
Thanks for a thoughtful post, by the way -- and all the other hard word you contribute on a daily basis. It's very much appreciated.
Re: CLA will probably doom Mir
Date: 2013-06-20 02:18 pm (UTC)It’s a company project that’s also, conveniently, published as Open Source.
That means that the majority of coding comes from the author, although contributions will be welcome, and the author certainly does have a moral right to do as they want.
Sure, it’ll diminish external contributions, but not doom the Canonical Display Server (they should just use CDS as codename).
Re: CLA will probably doom Mir
From: (Anonymous) - Date: 2013-06-20 03:12 pm (UTC) - ExpandRe: CLA will probably doom Mir
From: doctormo [launchpad.net] - Date: 2013-06-20 03:58 pm (UTC) - ExpandRe: CLA will probably doom Mir
From: (Anonymous) - Date: 2013-06-20 05:12 pm (UTC) - ExpandRe: CLA will probably doom Mir
From: (Anonymous) - Date: 2013-06-21 09:37 am (UTC) - ExpandRe: CLA will probably doom Mir
From: reddragdiva - Date: 2013-06-26 05:27 pm (UTC) - ExpandSelling GPL exceptions
Date: 2013-06-20 05:14 pm (UTC)http://www.fsf.org/blogs/rms/selling-exceptions
Re: Selling GPL exceptions
Date: 2013-06-20 05:34 pm (UTC)Re: Selling GPL exceptions
From: (Anonymous) - Date: 2013-06-24 10:38 pm (UTC) - ExpandRMS' "selling exceptions", Harmony, et al.
Date: 2013-06-23 07:05 pm (UTC)Matthew's essay is quite good and I appreciate someone staying on this topic, as while I've written about it quite frequently in the past, I haven't had time lately and I'm glad to see Matthew picking up the slack. :)
My previous blog posts on this topic might be of interest here. I discussed how there are subtleties between selling exceptions and what Canonical, Ltd. does, I sent an open letter to Shuttleworth which he ignored. As for Project Harmony itself, I've written a rather long piece about its problems. I've recently communiated with the person who has taken over the work, and it's clear that she has no intention of addressing the problems I raised, BTW. The write up I did of my and Micahel Meeks' debate with Shuttleworth at Desktop Summit 2011 on this topic might also be of interest.
Frankly, I think we see Canonical, Ltd. doing a lot of things in desperation in the last 12 months. That's not a good sign for them, and the developers I've seen leaving in exodus gives me the impression that it's no longer a good place to work for developers. I suspect we just don't need to worry about what Canonical, Ltd. is doing anymore. I've generally just been ignoring them.
Re: RMS' "selling exceptions", Harmony, et al.
Date: 2013-06-24 10:49 pm (UTC)Re: RMS' "selling exceptions", Harmony, et al.
From: reddragdiva - Date: 2013-06-26 05:29 pm (UTC) - Expandno subject
Date: 2013-06-28 11:05 pm (UTC)tl;dr CLAs are just utterly toxic. Any company offering a CLA should be considered equivalent to "We are malicious bastards trying to fuck you up", because they literally have no other purpose. If the company doesn't mean that, then it is too stupid to talk to.
Other projects with central-author-relicenses-as-they-please
Date: 2013-08-29 04:36 pm (UTC)Folks above have already mentioned OpenOffice, which got forked into LibreOffice shortly after Oracle bought out Sun, and is now currently IBM+Oracle ApacheOffice with a BSD-style license (so that someday IBM+Oracle can offer their own downstream proprietary derivatives of same) versus LibreOffice which has less typically-corporate backing but gets support from the distros.
Probably more important is the OpenJDK versus OracleJava and GoogleJava situation (both the latter two maintain private repos for Java-on-windows and Java-ported-to-android respectively).
Qt was mentioned, and KDE+GPL versus proprietary release.
Another example with less political baggage might help clarify the span of such things: TightVNC, from Estonia (if memory serves), uses the GPL throughout, but explicitly offers to relicense the project for proprietary projects that want to pay for the code without paying for the GPL. They are not the biggest VNC fish in the pond, and there are plenty of GPL-all-the-time VNC projects, but TightVNC has still survived (even against RedHat's own TigerVNC) for quite a long time now. The project is also good code; I use it.
So, although I'm definitely wary of the Canonical distro turning into the equivalent of TiVo, or the mini-equivalent of Oracle-nee-Sun... what they're doing is not actually wrong in any way, and might turn out for the better. For instance, look forward to three or four years from now, when Google has half the phone market, with their BSD-style preference and their willingness to let phone-and-carrier-folks lock down the bootloader. If the other half of the market is win9 and iOS, that is no good. I'd rather the other half of the market be Canonical with their GPL3, and have the then-in-the-future-backers of Canonical present their new terms to the phone-n-carrier folks, namely, time for GPL3, so we can keep google's spyware and lockdown tactics from beating us.
Yes, this could be a pipe-dream. Maybe the folks at canonical will turn out to be like the folks at google. (Or maybe it will turn out that google folks are the ones who pressure the phone-n-carrier industry to open up... I'd love to be surprised that way. Owning moto gives google the advantage of being able to produce open hardware, not just open software, if they could just bring themselves to decide to do so.)
In the short run, I'm reasonably worried about the Linux fragmentation that mir/wayland/surfaceflinger/x11 are about to cause. I'm *very* worried that wayland will follow mir, in happily working with binary-blob graphics drivers. (See the mir homepage which is careful to mention several times how it will 'function' with the existing open-source drivers but emphasize that mir will be 'optimal' with proprietary nvidia slash amd drivers on the desktop and proprietary android-like drivers on tablets and phones.)
But in the long run, GPL3 is a pretty good constraint, even with the CLA. It mostly depends on the sort of people that are in charge of Canonical, a few years from now. If you want to have an impact on what licensing constraints the UbuntuPhone2017 will ship with, prolly it is better to try and get some power over decision-making at that point. Ubuntu has no stock, since they are private, but if they do try to become a phone-power they'll probably go public. Better to have GPL-friendly folks on the board, rather than folks like Steve Ballmer, right? Also, better to have some GPL-friendly folks on the Ubuntu Tech Board where MJG used to reside, and working on Mir.
Am I suggesting that everybody just trust canonical, or that everybody just buy ubuntu Inc stock, or even that everybody contribute to mir? Nah. I'm just pointing out that it is better to wait and see, than to harshly judge now. Maybe our suspicions will turn out wrong. It's fine to voice the suspicion, by the way. If we don't publicize the risks to freedom, nobody will be aware there even is such a risk, after all. But the Mir project is not yet proven to be a risk to freedom (and Wayland is not yet proven to be a panacea for freedom -- look at the proprietary firmware stuff collabora did with the wayland backend for the raspberry pi).
I guess I'm trying to say this old chestnut: trust, but verify.
Re: Other projects with central-author-relicenses-as-they-please
Date: 2013-11-28 05:15 pm (UTC)1) We are doing the hard work of maintaining and designing Mir, so, we have the right to make some money with proprietary licenses.
2) We are glad to take your patches, as long as it doesn't break that source of income.
3) If the community cares enough about Mir and decides to take on the hard work of maintaining it, all you need to do is fork it. You'll still be able to use all our code, and we won't be able use yours in our proprietary version.
There are many examples of such approach resulting in good things, and I still thing the GPL3/LGPL3 is a great choice open source use.