Canonical, Ltd. On Record: Seeking Open Core
ebb.org
ebb.org
Nokia changed Qt's policy from dual-license, half-open model to a totally open, community based project, because they werent looking at Qt as a product to sell.
TrollTech's product was Qt. They used dual-license model to sell it. And it was partially closed.
Nokia's product is NOT Qt. Qt is a platform which they try to find partners, developers and community around it. They dont want to make money through Qt. They want Qt to be a perfect platform and complete transparency and openness is the way they achieve it.
In a previous life I worked at an Open Source company and we had to put up with zealotry on a daily basis, both externally and internally. On the one hand the FSF see themselves as guardians of the Free Software Movement - a mantle nobody else seems to want to take up. On the other hand, sometimes they act like douches. This is one such time in which the douche element of the FSF comes up for air (in my opinion, and yours may differ, there doesn't appear to be a clear right of wrong).
Canonical own Ubuntu. It's up to them to run it the way they want to. If they want copyright assignment under their terms, that's their choice, not the FSF's. If they don't like it they can always fork it, but of course their fork won't be nearly as popular. This implies that Kuhn wants to have his cake and eat it, or at least eat Canonical's cake and tell them how to mix the ingredients.
They require copyright assignment for a few of their own projects... which, yes, is entirely their prerogative.
BUT:
There are plenty of people in the FLOSS community who don't believe that's an optimal way to participate... and I'd point out that those people include FSF ("software freedom") folks, people who once also had copyright assignment policies, projects that have suffered from copyright assignment policies, etc.
It's not just an FSF my-way-or-the-highway issue.
The FSF have a Free Software Definition; similarly the OSF have an Open Source Definition. This is good, because it means that when someone says "free software" or "open source", we can all agree on what these terms mean.
If someone describes something as "free software" and it doesn't satisfy the FSF's definition of the term, I'd regard them as dishonest. Ditto with "open source".
> The terms are used interchangably all the time.
For practical purposes, I think FSD == OSD.
> The same seems to be happening with OS and FS as philosophies in that most? people seem to see them as the same thing.
Well they are. The software stack I'm using to write this with includes Linux/X/Gnome/Firefox, all of which are both free software and open source.
No. The FSF takes the view that there is one definition of Free Software. Considering it's a concept invented by its creator and one the FSF was specifically created to defend, I don't see how they could be wrong.
> On the one hand the FSF see themselves as guardians of the Free Software Movement
Because they are, that's very specifically what the FSF was created for.
How can this be said with a straight face in a most unharmonious essay that decries 1) the practice of adding copyright assignment (above & beyond the terms of the GPL) to a non-FSF entity and 2) suggests that the GPL is not sufficient and that additional promises must be made by that entity.
Either the GPL is sufficient to keep participants harmonious or it isn't.
This essay embodies everything that keeps the free software movement from greatness. I'm grateful that free software was there for me during the dark ages of computing, but I wish it could be more than an escape valve from monoculture. Alas, the movement is perpetually suspicious of those who want it to flourish.
Edit: jdub, I appreciate your reply. Could you be more specific about exactly which statement of fact is incorrect? "This is factually incorrect" sounds ominous, but I don't see where you contradicted anything I wrote. Nothing about our perspectives seems mutually exclusive at all.
Are you fine with someone integrating your code into a GPL project that competes with you, and potentially out-competes your project?
I do think the opposing position has merit, I just don't take the same position personally.
I do understand why you'd say it, because it sounds balanced and reasonable at face value, but time and time again we've seen what happens when the word of the GPL is followed, but the spirit isn't.
Centralising copyright ownership in a single organisation (particularly a commercial entity which may be acquired or choose to protect its existence violently) is a threat to communities which aim to co-develop.
In a true co-developing community, a single participant doing something stupid or destructive doesn't hurt everyone else.
In a single-entity, single-owner project, only one participant needs to do something stupid or destructive and it will affect everyone else, and they may not have any say in the matter. Corporate takeovers, bankruptcies, falling profits, new leaders... all these things can provoke such a situation.
That won't happen in projects like Apache and GNOME, which are truly collaborative, decentralised, co-developed, multi-author, multi-copyright-holder projects.
So you can talk about "the spirit of GPL", but this spirit is too tainted with a political agenda that made it a double edged sword.
Heck, the biggest supporters of AGPL are companies that sell web-related platforms or libraries for a living and slapping an "open-source" label on such packages is good marketing.
Here's some food for thought: if OpenJDK would've been licensed with Apache version 2, a fork would have already happened. GPLv2 was chosen for a reason ;)
Either the GPL is sufficient to keep participants harmonious or it isn't.
This essay embodies everything that keeps the free software movement from greatness.
Alas, the movement is perpetually suspicious of those who want it to flourish.
The statements above are also the OPs matters of opinion.
Because there's a lot of grey area between those binary states, and plenty of examples of the GPL being used for good and/or evil to various degrees.
Either the GPL is sufficient to keep participants harmonious or it isn't.
You could say I'm arguing that the GPL isn't enough to keep participants harmonious, and therefore accepting the binary nature of your claim... but in the context of your post, I think you're conflating the GPL with all kinds of other social interactions in FLOSS projects, and carving its impact into binary positions can't give you an answer based on fact and experience.
(phew)
If all the contributors own their part and license it under the GPL, this ensures a level playing field. The GPL provides a shield for all involved. If they all assign copyright to a single entity, they lose their shield and this entity has the advantage. This is why that entity should provide something in return: a GPL-like guarantee.
Something to be said for a profit-imperative to keep conversations honest & feet on the ground.
Canonical has grown a strong brand in huge swathes of previously Microsoft territory.
They would do well to follow RedHat's example and trade on a reputation for competence&quality rather than trying to place their faith in various recipes of secret herbs&spice.
If you don't like it, fork it, right? Isn't that the main strength of F/OSS? For example, CentOS is a white-label fork of Red Hat Enterprise Linux. The same argument could be applied to Canonical's inclusion of Adobe Air and Flash in Ubuntu.
Canonical is targeting a market previous unserved by other Linux distros. To get to these users, the experience needs to be polished and complete. There's a reason that, for example, Slackware, isn't going to be installed by your grandmother...it's too difficult.
But, really, why people bring the 'Ubuntu is polished' argument all the time? Noone is against it being user friendly. They can be user friendly AND upstream friendly.
And their upstream happens to be the free software community. And they claim they respect it. And they dont.
I'd be interested in knowing what you are referring to here.
>>> I've written before about my deep skepticism regarding the true motives of Canonical, Ltd.'s advocacy and demand of for-profit corporate copyright assignment without promises to adhere to copyleft.
There is nothing wrong with Canonical requiring copyright assignment. The FSF do it, SUN did it, I would guess Microsoft does it. It is not unusual for a corporation to be a for-profit entity. There is no way someone would do unpaid work for somebody else and get nothing in return unless they were a slave or forced to do so. How would it be even possible to contribute to a Canonical project if you are not part of Canonical if the codebase is not freely accessible or at least in some way open?
>>> I've often asked Canonical employees, including Jono Bacon, Amanda Brock, Jane Silber, Mark Shuttleworth himself, and — in the comments of this very blog post — Matt Asay to explain (a) why exactly they demand copyright assignment on their projects, rather than merely having contributors agree to the GNU GPL formally (like projects such as Linux do),
That's interesting because the issue of copyright assignment arose when SCO started the whole litigation thing against Linux (well, Linux companies). Also, again, canonical is a for-profit corp, Linux is a (as you say) project so you can't compare them. I wonder what the policy of the Linux Foundation is?
>>> and (b) why, having received a contributor's copyright assignment, Canonical, Ltd. refuses to promise to keep the software copylefted and never proprietarize it (FSF, for example, has always done the latter in assignments).
Why should they promise? It's not their job to promise such things. The, again, are a corporation and have to look after themselves. They are not the FSF which is as far as I remember, a charity. What does Redhat do? Or Novell? We know that SUN required copyright assignment for OOo so it's not unreasonable for corps to have this requirement. If your issue is with code being worked on by individuals not employed by Canonical, with that work then being used in non GPL projects and with the copyright assignment of that work being handed over to Canonical then fair enough - please show me how this happens and where.
>>> When I ask these questions of Canonical, Ltd. employees, they invariably artfully change the subject.
Seriously. Citation please.
At first glance it seems that Canonical ask for copyright assignment and then 'grant a very broad license back', while Red Hat let the contributor retain copyright but ask for a similarly broad license for their use of the contribution. Other than the name in the copyright statement, it's difficult to see there's much difference in the control over downstream use of the contributed code, and it's potential for downstream (mis-)use that the original article seems to be primarily concerned about.
Yes, the disparity between the contributor agreements is confusing and requires potential contributors to put their legal head on to work out what they're agreeing to for each project they want to contribute to. That's where the free-software/open-source licenses were a few years ago before efforts were made to catalogue them and reduce their number somewhat (largely by The Open Source Initiative, I seem to remember). And that seems to be the problem that Project Harmony is trying to tackle.
So, are there real differences between these two instances? I'm having trouble spotting the objective difference between 'This set of policies has some flaws' in one case and 'copyright assignment intimidation tactics' in the other.
Including Adobe Air and Flash in their repository is really disheartening, but so is UbuntuOne.
I'm not exactly pro-Red Hat either... http://tinyurl.com/27x6c59
No bias here folks, I'm using Ubuntu right now! I also use Fedora, Trisquel, and gNewSense, but Ubuntu is my "main" OS. I also like how they've cleared up some of the cryptic messages in their software center (Licence: Unknown to Licence: Proprietary).
I'm just very concerned about free software.
I have never tried UbuntuOne...but if you want to reach more than geeks you have to have an easy way for Joe and Jane Public to get at those. Otherwise, you have lost.
The adamant promotion of strict adherence to FSF beliefs is fine, but it's not going to help the platform grow to anyone but geeks.
BTW, it's not about making sure rms doesn't get pissed off. Instead, it's about how we can make sure big software companies don't try and "buy" (I use that word very loosely) us, or our users, out
If GNU ever finishes Hurd, it'll really be humorous to MS, Apple, et al., since 90% of our time will be spent arguing "No! Linux is better!" "No! GNU!" and so on. I hope in-fighting won't be free software's demise.
Then there is the issue of practicality. I would love to do all my workflows using free software, but for some workflows it is just not possible. E.g. I tried using Digikam, The Gimp, and Scribus a lot. But for me, they just don't match up against Lightroom/Aperture, Photoshop, or InDesign. Am I acting unethical for using tools to get my work done?
Nowadays, I use the Apache License when possible, because I have got pretty sick of all the preaching, and claims for moral higher ground.
Although some see them as opposing forces within a similar frame of interest, I see them as two sides of the same coin, and am deeply passionate about both.
Free software (some call it "libre") lets you see and use the source code.
Proprietary does not let you do either.
Some software makers call their software "open-source" when it's really free, and some call their software "free" when it's really just "open".
I tend to explain the difference as being that Open Source places the freedom of people first (e.g. with a BSD licence, developers have freedom to do anything with a piece of code) and Free Software places the freedom of software first.
(I don't project any moral judgement of either of these goals, I think they both have their place. Also hi! ;)
http://www.gnu.org/philosophy/free-software-for-freedom.html
Having stuff like Ubuntu One isn't necessarily a problem provided that the user of the OS isn't required to use it as part of the essential or normal usage of the system. As long as these things remain optional, that's ok.
It seems to pretty clearly show focus on improving the Canonical bottom line, to me. Which is also fine...but, Open Source fans should be aware of what motivates the organizations they work with. Red Hat and Debian have a long history of choosing openness and freedom over control and profit (though Red Hat still manages to be the most profitable Linux vendor). Canonical has a less stellar record, generally speaking, with a history of unilateral decision-making, and questionable motives.
Note that I'm not at all opposed to the idea of so-called "Open Core" software. Virtualmin and Cloudmin are effectively Open Core projects, with proprietary additions being where our profits come from. But, we don't have any non-employee contributors to speak of (we get a bugfix patch every three months or so, on average). Whereas Ubuntu is 99+% code written by non-employees. Their contributions to Gnome, arguably the most important single aspect of the famous Ubuntu "ease of use", are miniscule compared to Red Hat and several others. And, of course, I'm not saying that Canonical shouldn't be praised for their 1% contribution to Gnome. It's just that their contributions do not justify the level of control they desire over the community, and that the free software community should be highly suspicious when Canonical make these kinds of power grabs.
In short, Canonical historically isn't all that great of a community member, and this is one more example of them putting the desires of Canonical above the desires of the Open Source community in importance. Open Core is fine, if they want to do it with their own entirely in-house written code. But, it sounds like they want the culture of Open Source to start shifting in the direction of corporate-led Open Source projects, even in situations where non-profits and communities are currently leading effectively (like Gnome).
No, they are not minuscule. I could not use Red Hat and several others(suse, mandriva...) because for me, and for many others Linux was a pain to use, with obvious design flaws.
Red Hat and others could not care less about the "normal user", they care about companies, witch is fine, but they made very little actual contributions to me if I could not use it.
There is no problem having an "Open Core" strategy if the code is GPL, and you could see it. They give the company(in this case Canonical) control over the design, witch is fine too. If you don't like it you could fork or create a new project.
Way easier to criticize than do anything.
GTK+, the underlying toolkit for GNOME, was substantially written and still substantially maintained by developers employed by Red Hat. If those resources had not been committed to GTK+ and GNOME, Ubuntu simply would not exist.
There's a difference between what you might regard as important, and the fundamentals of who contributes to an open source project. :-)
Yes, it is, and I do both. I've written code that ships in Ubuntu (and Debian, and Red Hat, and Fedora, and FreeBSD, etc.), and I've worked on Open Source projects for over a dozen years. I believe that grants me a right to speak on the subject, particularly since I'm not advocating a position that benefits me in any way; it merely presents my opinion as an Open Source contributor of many years.
This line of thought comes from curiosity, not because of an agenda. I really don't know what tack I should be taking here, so insight is welcome.
Is there a problem with a company taking source code that I've licensed as free to use (code that I haven't bothered to make consumer-friendly, just well-written) and then turn that into a viable product, where the core of the product--my core--is very much open source? If not this way, then how will the vast majority of open-source products find acceptable use to the everyday consumer in the market of applications?
It seems to me like many open source programs don't strive to improve the user experience, at least very rapidly. For example, OpenOffice (to me) could use a lot of tweaking, at least in GNOME. For such an open product, I can't modify very much about the interface as a user. Of course, I could go in and recode part of the application to my liking. But I probably don't want to expend that kind of effort just to get a suitable (to me) looking product. Evolution also comes to mind. There are changes that I find obvious and pressing--appearance settings, more minimalist interface, better interface with an external contacts manager--but have yet to improve. Where will the impetus for these kinds of changes come from if there is no monetary incentive?
If allowing a company to add proprietary UI goodness on top of an open source core means that we get solid products with a secure, beautiful, open base, what is not to like? If a developer can develop solid, clean libraries and then license his product for other companies to follow through with design that he doesn't want to do, why not support his decision to do so?
Especially in an arena where standards and interoperability are valued, it seems like allowing a company to use open source code in its proprietary software won't harm data portability or open source ideals. For example, say some startup X takes OpenOffice's core and redoes it using slick GTK and innovative UI elements. The company will likely fail unless its quasi-proprietary software supports open document format standards. (Interop with existing standards is likely key to success in current data processing markets.) If indeed it does support those standards, and I know what the core source code is, what do I care if the UI code is proprietary? I get a solid program out of it and can take my data elsewhere without conversion if I become dissatisfied.
It seems to me like the alternative to a hybrid model is a developer-centric platform and ecosystem that lacks many end-users to develop for. I love Ubuntu because its commandline and developer tools are fantastic, really a pleasure to use. But I have maybe 10 friends who also use Linux. So I could develop useful applications for myself or other developers, but not for too many end users. Without compelling UI, this situation isn't likely to change, right?
I know that Ubuntu is making headway in the UI department, and I think 10.10 is slick. Is that a result of the movement toward OpenCore described in this article?
"Open Core" is not the reason why Ubuntu is "making headway in the UI department". It's the work of a large community of developers, many of whom do not work for Canonical, and indeed, work for competing companies.
"Open Core" generally involves a single controlling stakeholder, which almost always means no properly enfranchised co-developers, no developer community, no collaborative innovation, etc.
Notice how much more popular Ubuntu is than Fedora, a distro that is more strict against proprietary software, but is criticized for including firmware support. Very interesting.
I like the idea of a startup putting a slick frontend on OOo because it'd be just what I want - but it'd be a tough slog for them to make money from, so I'm not expecting to see it anytime soon.
I love Ubuntu because its commandline and developer
tools are fantastic, really a pleasure to use
Then you should give credit where credit is due: to Debian, not Ubuntu.I love Ubuntu for their UI breakthroughs, but I'm only tolerating them for stealing Debian's work as long as Ubuntu stays free (as in price).
If you want to sell your Linux distribution, at least build it yourself.
So I could develop useful applications for myself or
other developers, but not for too many end users.
If your app is so dependent on GTK+ as to be unportable to other platforms, you're doing it wrong.That's a completely unfair statement. I wasn't aware following the license of an open source statement constituted stealing.
Then you should give credit where credit is due:
to Debian, not Ubuntu.
I didn't mean to say Ubuntu, actually. I just meant that Linux is a great place for developers because the tools are there (and fantastic). That said, making (say) my Ruby Unix utilities available to my typical audience (my boss... very much on Windows XP) just doesn't work. Instead my workflow goes something like... 1. code a nifty tool to process data, 2. realize that my boss probably doesn't know what a commandline is, and 3. shoot him an e-mail saying "send me your data files, and I'll have my program analyze them". There's a disconnect there that seems hard to break if we don't get a useful/clean UI system going. And not many developers are willing to add UI sugar to their solid open-source libraries. If your app is so dependent on GTK+ as to be
unportable to other platforms, you're doing it wrong.
I guarantee the typical Mac or Windows user is not going to install my GTK app on their computer, whether it's portable or not. Mac users will loathe the new interface and icons, while Windows users will not like the manual upgrades or quasi-FHS-compliant config file locations.If instead you're suggesting I recode my GTK app in Cocoa and .NET, I can't use my beloved Linux tools for that, so in that case, I'd stick to coding on non-Linux platforms.
I think the article linked here is too extremist. I still believe open core can be done in a manner that satisfies everyone. On the other hand, I can't think of any good examples.
> If you want to sell your Linux distribution, at least build it yourself.
So you're saying that what the free-software community really values is more package managers? Red Hat, SUSE and Debian all have their own, and if you want to be respected like the big boys you'd damn well better invent your own packaging format?
According to the author, this is exactly where Canonical is headed, because (1) Canonical demands contributors to assign copyright to them, (2) the terms of the copyright assignment offer no protection against Canonical making the code non-free in the future, and (3) Mark Shuttleworth seems to imply that making code non-free is exactly what he's going to do with code that was contributed by others.
Or does Open Core mean that they can take my code and use it for their own means without my permission if they so choose? (But I can continue using and developing mine myself.)