
If it's not practical to redistribute, it's not free software in practice - mkesper
https://lwn.net/Articles/665175/
======
pnt12
I agree: Canonical should make it easier for developers to strip the company's
trademarks when forking their applications.

Canonical's relationship with the rest of the FOSS community always seemed a
bit screwed up to me. They try to make Ubuntu the best Linux distro while
ignoring what all the other ones are doing. All other distros seem much more
friendly towards integration between projects, to benefit from the shared
work, while Ubuntu most of the time paves its own way - there's a lot of
Ubuntu only software, such as Unity, Mir, etc. that you just dont see in other
distros.

~~~
vezzy-fnord
I'm not sure why you think this is a bad thing. Canonical is a corollary to
Apple in the Linux world. They set their own agenda with limited cooperation.

The FOSS obsession with "community" and "integration" is myopic and abhorrent.
As if everyone must converge on one approach, one vanguard. There are scantly
any problem domains where only one solution applies.

Now, Canonical keeping to themselves has a very crucial advantage: _they leave
everyone else alone_. They stay in their corner, they don't bother, they don't
intervene. They don't start a massive integration effort to drag everyone else
in every time they devise something new.

We should be commending Canonical for this.

~~~
cwyers
Here's a good example.

Canonical comes up with a replacement for sysvinit called Upstart. Everyone
agrees sysvinit is a dumpster fire on wheels careening around at high speed,
so a new init system is welcomed as a Good Thing. Some people from Red Hat
wanted to contribute improvements to Upstart, but Canonical insisted on a
Contributor Licensing Agreement that would allow Canonical to relicense the
work however they wanted, including commercially. Shockingly, Red Hat
employees couldn't get clearance to do uncompensated labor for a Canonical
project like that, so rather than contribute to Upstart, we got systemd.

Eventually, systemd became so [PICK ONE OF SUCCESSFUL OR BELIGERENT] that
Debian adopted it. And at that point... game over for Upstart. Ubuntu uses
systemd now. Because they don't have the resources to package everything for
Upstart if Debian is moving to systemd.

The thing is, Canonical isn't that well resourced. Look at who contributes to
the Linux kernel.[1] Looking at the top 10 sponsors of contributors, we see
some of the usual suspects -- Intel, Red Hat, Linaro, Samsung, IBM, SuSE. We
see "Vision Engraving Systems," weirdly. Going out of the top 10, a lot of
hardware vendors, _spits_ Oracle, FOSS Outreach Program for Women,
Pengutronix... I mean, look at the homepage for Pengutronix. [2] It's some 90s
era HTML 4.01 they've got going on there. But they're able to make significant
contributions to the Linux kernel. Canonical isn't on the list. Canonical has
NEVER been on the list, so far as I can tell. You can look all up and down the
stack, there's a handful of Canonical-only projects they contribute to, but
they're a rounding error in overall Linux development.

Which is their right, of course -- the GPL doesn't insist upon contributing
back. And I would agree that shaming Canonical about community isn't
productive. At the same time, Apple isn't what they are, it's what they want
to be but are failing at being. Apple can get away with incorporating BSD code
into their OS but still writing vast swaths of it themselves because Apple
doesn't need any of the BSDs to adopt launchd to make it feasible for them to
keep running it. Apple has money and can pay people to write code. And on the
desktop, OS X has twice the market share of every Linux distro combined, so
they can get developers to write applications for their OS even though it
doesn't follow the lead of the rest of the BSD-derived OSes. (And yes, I know
that OS X resembles a BSD distro far, far less than Ubuntu resembles Debian.)
You're right that Canonical wants to be the Apple of the Linux world. But
they're not succeeding at it and they're not GOING to succeed without some way
of becoming profitable that has yet eluded them. And developers don't want the
burden of having to support Canonicals quixiotic insistence that they are the
Apple of the Linux world.

[1] [http://www.linuxfoundation.org/publications/linux-
foundation...](http://www.linuxfoundation.org/publications/linux-
foundation/who-writes-linux-2015) (Also, why do I have to tell the Linux
Foundation who I work for in order to read this report?)

[2]
[http://www.pengutronix.de/index_en.html](http://www.pengutronix.de/index_en.html)

~~~
vezzy-fnord
Your story is factually off, I'm afraid.

 _Canonical comes up with a replacement for sysvinit called Upstart._

Actually a replacement for both sysvinit and sysv-rc, along with some overlap
for hotplug and other demand-based/lazy operations.

 _Everyone agrees sysvinit is a dumpster fire on wheels careening around at
high speed, so a new init system is welcomed as a Good Thing._

Hah. I wish.

In fact, the painful truth of the matter is few people really cared. There was
lots of prior art (and indeed, Canonical themselves chose to write Upstart
instead of adopting the emerging initng at the time for largely
handwaving/wish-wash reasons [1]), but not a lot of interest in seriously
tackling the problem domain beyond introducing a host of band-aids on top of
sysv-rc like LSB dependency headers and startpar.

 _Some people from Red Hat wanted to contribute improvements to Upstart, but
Canonical insisted on a Contributor Licensing Agreement that would allow
Canonical to relicense the work however they wanted, including commercially.
Shockingly, Red Hat employees couldn 't get clearance to do uncompensated
labor for a Canonical project like that, so rather than contribute to Upstart,
we got systemd._

In fact, "some people from Red Hat" already had deeper architectural failings
with Upstart (which I agree with, but absolutely not with how they decided to
"solve" them) and its event model. The beginnings of systemd (prototyped under
the name of Babykit) were lying around for several years on Lennart
Poettering's machine.

 _And at that point... game over for Upstart. Ubuntu uses systemd now. Because
they don 't have the resources to package everything for Upstart if Debian is
moving to systemd._

Which, ironically, is a form of cooperation. And look what cooperation gets
you: homogenization towards a Red Hat solution.

 _The thing is, Canonical isn 't that well resourced. Look at who contributes
to the Linux kernel._

I'm well aware of the massive corporate contribution, and Canonical's low
activity there.

 _But they 're not succeeding at it and they're not GOING to succeed without
some way of becoming profitable that has yet eluded them. And developers don't
want the burden of having to support Canonicals quixiotic insistence that they
are the Apple of the Linux world._

Again, Canonical are at a loss, true. This is their loss, not developers'.
There is no "burden" placed on them unless they decide to ship their software
in binary form only, in which case the problems _already_ exist for any distro
with its own packaging infrastructure.

[1]
[https://wiki.ubuntu.com/ReplacementInit](https://wiki.ubuntu.com/ReplacementInit)

~~~
cwyers
Most of your corrections to my story aren't really germane to the point, and
mostly involve your constant flogging of a bunch of sysvinit replacements that
never caught on, but there's one where I think you move from mere pedantry to
being wrong:

> In fact, "some people from Red Hat" already had deeper architectural
> failings with Upstart (which I agree with, but absolutely not with how they
> decided to "solve" them) and its event model. The beginnings of systemd
> (prototyped under the name of Babykit) were lying around for several years
> on Lennart Poettering's machine.

Here's Kay Sievers, one of the originators of systemd[1]:

> True statement. And yeah, without the CLA, we would very likely have worked
> on upstart, instead of starting the systemd project. Four years ago we
> talked to lawyers and tried pretty hard to convince them to give it up, but
> there was no way to negotiate.

In the comments, from Scott James Remnant, who wrote Upstart for Canonical:

> I don't think we ever disagreed enough for me to refuse patches from them -
> it was very much a case of they had different ideas to me, and couldn't
> contribute them because of the CLA

> If the CLA wasn't there, we'd've just tugged and pulled and fought about
> patches like normal projects, and Upstart would have turned out much like
> systemd - I'd've been okay with that :)﻿

And another comment from SJR:

> you'd be surprised how little of Upstart's code is the "event system". It
> could have quite easily evolved into what systemd looks like today, with an
> active community working on it.

> Indeed, systemd today doesn't look much like systemd back then either, it's
> evolved over time - the dependency system has taken a greater forefront than
> the socket system it was designed around, etc.

> systemd had the benefit of an active developer community, because it didn't
> put barriers up to contribution.﻿

People who wrote for systemd and Upstart at the time both claim that if it
weren't for the CLA, Upstart would've been contributed to by the people who
eventually wrote systemd instead of systemd being its own project. I see no
reason to disbelieve them.

[1]
[https://plus.google.com/+KaySievers/posts/C3chC26khpq](https://plus.google.com/+KaySievers/posts/C3chC26khpq)

~~~
vezzy-fnord
Kay Sievers was actually a SUSE employee at the time, IIRC.

Now, there's a case to be made that the public statements of intent did not
necessarily correspond to the actual _function_ , or strategy that made
systemd emerge.

Quoting from Lennart Poettering's Linux Voice interview [1]:

> We, at that time, thought: OK, Upstart is the future! Scott understood how
> init systems work – it needs to be dynamic, it needs to react to events, and
> it’s not the static thing that Sysvinit was. So we thought that was the way
> of the future, _but as it progressed, we realised it probably wasn’t the
> future, because we realised that conceptually, it was the wrong design._

Now, furthermore, the goal of systemd became "universal GNU/Linux middleware,"
a massively increased scope relative to what Upstart was intended to be.
Though it may have been the case that Upstart _could_ have evolved into
something similar to systemd-the-PID1, it appears to me that systemd's
emergence would nevertheless have been determined by the desire for a
homogeneous catch-all userland suite. The Upstart architecture, relying on so-
called "bridges" at the time to marshall external events to and from the
internal format, would likely not have been as desirable.

LP's testimony starkly contrasts with Kay and SJR.

[1] [http://www.linuxvoice.com/interview-lennart-
poettering/](http://www.linuxvoice.com/interview-lennart-poettering/)

~~~
cwyers
> LP's testimony starkly contrasts with Kay and SJR.

No it doesn't. There is no reason that "conceptually, it was the wrong design"
has to contradict with "they had different ideas to me, and couldn't
contribute them because of the CLA" and "it could have quite easily evolved
into what systemd looks like today, with an active community working on it."
It is quite easy to read those statements as being in agreement -- Lennart
decided that Upstart wasn't conceptually correct, SJR is amenable to
discussing merging changes that would bring Upstart in line with Lennart's
ideas, but the CLA is a roadblock so Lennart goes off to form his own project.
Why not adopt the principle of charity and take everyone at their word?

~~~
vezzy-fnord
Except for the whole part about Lennart's project already having a prior non-
public existence.

Discussing historical counterfactuals like this based on limited public
testimony is a difficult matter, but my input here is that the ultimate
breadth of changes envisioned by the systemd developers would have triggered a
split anyway.

SJR's comments concern systemd-the-PID1.

~~~
cwyers
> Except for the whole part about Lennart's project already having a prior
> non-public existence.

Is there any reason, any at all, that you've provided to think that Lennart
wouldn't have abandoned that project to contribute to Upstart, if the CLA
issue had been able to be overcome? Because the testimony of people who would
actually know this indicates that he would have. I mean, I'm happy to drop
this argument if you find it a "difficult matter," but it seemed to matter to
you enough to bring it up in the first place, and you seem to be focusing on
trivialities that you think support your point rather than some pretty
unambiguous statements from people who would know (and it seems hard to accuse
SJR of some sort of pro-Red Hat bias ehre).

------
Mikeb85
This is silly. Free software is software that complies with a free software
license. Full stop.

Even RMS supports commercial use of free software, and has stated before that
binaries don't need to be free of cost, or that it needs to be easy to
distribute, only that the source is available for modification and 'free'
redistribution.

Canonical has every right to protect its brand. Firefox does this, as do many
others. This doesn't change the fact that you can use their __code __as you
wish.

~~~
jordigh
The problem is that Canonical is (intentionally?) vague about what you need to
do with their software to redistribute it. They have not answered requests for
clarification. What do they consider trademarks, what do you need to remove?

This kind of (intentional?) legal ambiguity ends up having a chilling effect.

~~~
Mikeb85
There is no legal ambiguity. The license is a legal document. You comply with
the terms of the license and trademark law.

> What do they consider trademarks, what do you need to remove?

They don't define trademarks, because it's a legal term that depends on the
laws in your country, and not up to them to define.

Canonical's Q&A is merely clarification. At the end of the day, you're subject
to whatever licenses you implicitly agree to, as interpreted by the laws in
your jurisdiction (and maybe some international laws that your country
recognizes).

~~~
jordigh
> They don't define trademarks, because it's a legal term that depends on the
> laws in your country, and not up to them to define.

It _is_ up to the trademark holder to decide what they consider their
trademark to be. That's why when defending a trademark you have to say "so-
and-so is a registered trademark of so-and-so", and that's why when people
defend trademarks they use a trademark symbol. People defending their
trademark also have to decide what is or is not an acceptable use of their
trademark. Furthermore, trademarks that are not defended are lost.

Copyright licenses also are completely irrelevant as regards to trademarks.
These are different sets of laws. What is in effect here is what Canonical
confusingly calls its "intellectual property policy", which is in effect only
about trademarks, not any other law that people confusingly call "intellectual
property".

------
paulajohnson
I think that you could make a good-faith effort to get rid of as many as
possible, for instance by grepping the code tree for the word "Canonical"
(with a capital C) and manually scanning all images. Then if Canonical find
something you missed you can promptly remove it. At that point any
infringement is de minimis and not something they can build a case on.

~~~
delonia
Garrett is proposing another wild goose chase, just because he dislikes Ubuntu
so much.

Even the GPL licence has a "no warranty clause". The software is "as is", it
is your problem to keep the pieces when it breaks. You can imagine a person
spinning this into "you cannot trust open-source because they do not offer
just a bit of warranty".

------
raverbashing
Ok the real question is, how does this compares to CentOS/"Prominent Linux
Vendor" relationship

And Linux Mint also recompiles and replaces the trademarks no?

~~~
lmm
Did you read Garrett's post? Prominent Linux Vendor segregates its trademarks
into three packages and documents that you need to replace those specific
packages (and only those) with versions that don't infringe their trademarks
if you wish to redistribute.

~~~
raverbashing
I had read it yes (and missed that part), but curiously that part refers to
Fedora (which was traditionally more liberal), not RHEL

~~~
Already__Taken
As I understand it Fedora is where RHEL comes from is it not? So Redhat
replace in their own branding just like everyone else.

~~~
lmm
It's not as simple as that. Fedora is used as a kind of public beta for RHEL
which is much slower moving and more server-oriented; there's not a direct
translation from one to the other.

------
Sniffnoy
This seems to basically just be a link to
[http://mjg59.dreamwidth.org/38467.html;](http://mjg59.dreamwidth.org/38467.html;)
I think the link should be changed to that.

~~~
_yy
Yes but there's an interesting discussion on LWN.

------
fiatjaf
Travis-CI is open source, but it's impossible to host.

~~~
purpled_haze
Open source != free

~~~
adekok
The ISC DHCP server is "open source", in that the source is available. It's
"free" in that anyone can download it and use it.

But... try getting patches in. Unless you're a paying member of the ISC
consortium, you can't. There are performance problems going back a decade
which are firmly in the "won't fix" category.

OpenSSL is similar.

~~~
simias
That's not really the same issue, people are free to accept contributions or
not, if you're not happy with the state of things you can fork the project.
Like GCC/EGCS back in the days for example.

TFA is about ubuntu making _forking_ difficult.

------
liw
Relevant:
[https://plus.google.com/+MatthewGarrett/posts/Vx26ccdtdv6](https://plus.google.com/+MatthewGarrett/posts/Vx26ccdtdv6)

------
amadvance
I see a value in this approach.

I don't known your experience, but as soon you have a well known OpenSource
project with binary distribution, you are going to see it available in a lot
of scam download sites.

In fact, the OpenSource licenses allow it, and the author is going to have a
hard time taking them down. In this regard, OpenSource licenses are too
permissive, and are doing a disservice in being too easily abused.

Imposing additional restrictions to binaries, seems a good approach to have
legal arguments to prevent that in the first place.

~~~
mjg59
All you need to handle that is a trademark. You don't need to impose
restrictions on binaries other than those that trademark law already imposes.

~~~
empyrical
Yeah, and if you try to add restrictions to the software license itself you'll
also end up with GPL incompatible code

~~~
mjg59
Large parts of Ubuntu aren't under the GPL, and as a result Canonical can
impose additional restrictions.

------
EvanPlaice
Or... you know. Don't use Ubuntu.

I don't understand why the hell anybody would want to fork Ubuntu to begin
with. There are already enough linux distros that provide nothing but a thin
veneer of look-and-feel over Debian.

If you want a high quality alternative to Ubuntu, use Mint. If you want
something that's more open-source friendly, build on top of Debian.

Canonical is clearly trying to commercialize Ubuntu but does that really
matter? It's not like they slapped Linus Torvalds with an gag order.

------
agumonkey
I'll add to understand and manipulate.

------
delonia
"If you are smart enough, you can spin anything towards the direction of your
choosing."

We see this all the time in online communities and we see it again with all
this "hatred" against the Ubuntu community.

Here is Mark Shuttleworth replying to Garret:
[http://mjg59.dreamwidth.org/38467.html?thread=1474883#cmt147...](http://mjg59.dreamwidth.org/38467.html?thread=1474883#cmt1474883)

So Garret contacted Ubuntu for some unspecified project that he claimed he
wanted to start. In reality, he was mining for quotes to misinterpret. Sad
git.

~~~
lorenzhs
Your comments in this thread read like you have a personal grudge against
Matthew Garrett. Please keep it professional.

> _So Garret contacted Ubuntu for some unspecified project that he claimed he
> wanted to start. In reality, he was mining for quotes to misinterpret. Sad
> git._

Trying to create some legal security around derivatives of Ubuntu, he asked
for clarification _in general_ , not about any particular project, but about
any possible project started by anyone. The question is really quite clear:
"What _precisely_ does one need to change for Canonical to be comfortable that
one isn't trying to pass it off as Ubuntu". Their answer was "we won't tell
you".

It looks to me like you're trying to spin this somehow to make Matthew Garrett
look bad, accusing him of spinning it to make Canonical look bad. While the
whole exchange could have been handled better on both sides, I don't see how
Matthew Garret is to blame for Canonical's unwillingness to clarify their IP
policy.

