
VLC Core is LGPL - freeman478
http://www.jbkempf.com/blog/post/2012/I-did-it
======
jbk
This is my website :) (I did not expect that to come on HN, to be honest)

Anyway, the title is, of course, misleading. VLC core, named libVLCcore is
LGPL since last year (I did it too in december) and the wrapper for 3rd party
applications libVLC was relicensed too at the same time.

This is different, since most modules of VLC are now LGPL. We speak about
codecs, demuxers, format parsers, protocol accesses, filter and outputs. And
those modules are way more important in terms of contributors and lines of
code than the VLC core. In fact, we speak here of 230 people with around
300,000 lines of code, compared to 80 people and 80,000 lines of code for the
VLC core.

Of course, from a higher-level point of view, all those playback modules are
part of the "core of VLC" :)

~~~
belorn
Could you explain in a bit more details why you did this move from GPL to
LGPL? The blog post did not want to expand on this, and I for one would very
much like to hear, from your view, what benefits the project might get from
this move.

Preferable in practical terms, as "more professional developers around VLC"
sound a bit vague and, if that is really the stated goal, will you follow up
on this with statistics to show if the license is drawing more professional
developers to the project?

~~~
jbk
We are not able to enforce the GPL anyway, so let's help companies use VLC and
contribute back, so this benefits all users.

Competition.

AppStores and other crap of the post-PC era. :)

~~~
belorn
okey, so beyond AppStore and theirs rules/eula/requirements and so on, the
goal is to increase third-party contributions from companies?

I would be very interested to see some data on that, say gathered over a year
or two. Licenses decision really need more scientific approach, and if the
main desire from choosing a license is to attract more third-party
contributions, GPL vs LGPL is an interesting situation.

Have you seen a change in third-party contributions from companies for the
libVLCcore after the license change? Its not the same type of software as the
mods, but would still be interesting in this context.

~~~
twelve45
Most commercial work these days leverage several open source libraries. And
once a library becomes part of your core product, it is in your interest to
support further development of that library by contributing code, time, money,
etc.

Unlike other OSS licenses like BSD, Apache, LGPL, etc, GPL makes it impossible
to utilize the library in any way in a commercial product. My current company
works on some video related stuff, and we use OpenCV, ffmpeg etc but we
completely steered clear of libVLC due to the GPL licensing (even though we
think it's a fantastic piece of software). We will however be revisiting this
now due to this excellent work by jbk.

~~~
sciurus
"GPL makes it impossible to utilize the library in any way in a commercial
product"

That's not strictly true. You could license your commercial product as GPL, or
(more likely) contact the library's authors and negotiate usage of the code
under another license.

~~~
mindcrime
I'ts not just "not strictly true," it's not true at all. Nothing in the GPL
prohibits GPL'd code from being used in commercial products. What is
prohibited is using it in _proprietary, closed-source_ products. You can have
a product which is both F/OSS and commercial. Ask Red Hat, for example.

~~~
byroot
It's sad to see how the FUD around the GPL is widespread.

It remind me a few months ago the launch of meteor.js. I heard so much people
saying that it was "not usable commercially"...

And the worse is that the same people have MongoDB in production with it's
AGPL license.

~~~
justincormack
With JavaScript and the GPL it is very unclear what "linking" is. Probably
your entire website becomes GPL including content. Who knows as the language
was written for system libraries. So I can see lawyers having an issue.

If you are not intending to modify Mongo then AGPL is not restrictive, which
may be OK. The database API is not usually considered as "linking" as it is a
wire protocol.

------
bcantrill
Congratulations to JB and team on completing this Herculean task! I had the
pleasure of meeting JB when he and I shared a ride from the airport in Porto
Alegre for this year's FISL.[1] When he asked me what I was going to be
presenting on, I (not yet knowing anything about JB's work) had some
trepidation in responding: my presentation was on corporate open source anti-
patterns[2] -- and one of my conclusions was that the GPL has essentially
outlived its usefulness. Fearing that this was a very controversial
conclusion, I approached it gingerly in my conversation with JB; needless to
say I was very relieved to learn that he and the VLC team had come to broadly
similar conclusions -- and surprised that they felt so strongly that they had
taken on the arduous task of relicensing. Congratulations again to JB and
team; I'm sure that they join the ranks of us who never want to engage in
a(nother) licensing discussion as long as we live!

[1] [http://dtrace.org/blogs/bmc/2012/08/01/post-revolutionary-
op...](http://dtrace.org/blogs/bmc/2012/08/01/post-revolutionary-open-source/)

[2] [http://smartos.org/2012/07/27/corporate-open-source-anti-
pat...](http://smartos.org/2012/07/27/corporate-open-source-anti-patterns-
doing-it-wrong/)

~~~
georgeorwell
From your second link, why do you think the licenses of DTrace and ZFS have
limited their Linux popularity? Aren't their licenses compatible with (read:
convertible to) the GPL?

~~~
throwaway54-762
At least with ZFS, no:

"Porting ZFS to Linux is complicated by the fact that the GNU General Public
License, which governs the Linux kernel, is incompatible with the Sun CDDL
under which ZFS is distributed."[0]

See also this reasoning from the native ZFS linux kernel module port:

"In a nutshell, the issue is that the Linux kernel which is licensed under the
GNU General Public License is incompatible with ZFS which is licensed under
the Sun CDDL. While both the GPL and CDDL are open source licenses their terms
are such that it is impossible to simultaneously satisfy both licenses. This
means that a single derived work of the Linux kernel and ZFS cannot be legally
distributed."[1]

[0]: <https://en.wikipedia.org/wiki/ZFS#Linux>

[1]: <http://zfsonlinux.org/faq.html#WhatAboutTheLicensingIssue>

------
josephlord
The really interesting story is the how(linked from main article):

Part 2 (probably the more interesting):
[http://www.jbkempf.com/blog/post/2012/How-to-properly-
relice...](http://www.jbkempf.com/blog/post/2012/How-to-properly-relicense-a-
large-open-source-project-part-2)

Part 1: [http://www.jbkempf.com/blog/post/2012/How-to-properly-
relice...](http://www.jbkempf.com/blog/post/2012/How-to-properly-relicense-a-
large-open-source-project)

~~~
jbk
Part 3 is coming soon, about FAQ and numbers, but part2 is probably the most
interesting one, indeed.

------
comice
So every contributor essentially gets to vote on the license change, and their
vote is proportional to the contribution they made (because if they vote no,
their contributed code has to be rewritten).

I think I quite like it, but only because there is an option to replace their
code if they vote no (which admittedly may be very technically difficult). No
single contributor can truly veto the license change.

Clearly has it's downsides though.

~~~
jbk
I did delete some code, and rewrote some. But not for many people.

~~~
comice
Was there any single person with enough of a contribution that if they'd said
no, you'd have abandoned the idea of a license change?

~~~
jbk
Yes, a lot of them.

VLC contributions have mainly been done by 2 dozens of persons. If any of Rémi
Denis-Courmont, Laurent Aimar, Gildas Bazin, Pierre d'Herbemont, Rafaël Carré
(or me) would have disagreed, I would have stopped right away.

------
anthonyb
This is modules, not core. Core was last year:
[http://git.videolan.org/?p=vlc.git;a=commit;h=36ab287e77e9df...](http://git.videolan.org/?p=vlc.git;a=commit;h=36ab287e77e9df059f261ed1cfb13fc4674182ec)

------
rangibaby
Does this mean VLC will be back on the App Store? I remember it being pulled
due to a contributor (who around ~2010 worked for Nokia) complaining to Apple.

~~~
jbk
Possibly, yes. But so far, iOS aout and vout are not LGPL.

~~~
stcredzero
You're saying that iOS about and bout must be LGPL first before there can be a
VLC app in the iOS App Store? That goes against my idea of the point of LGPL,
but I could well be wrong. I thought I could interface non-LGPL code with it.

~~~
jbk
The audio output and video output are still GPL, so far. Maybe this was not
clear enough.

~~~
stcredzero
Oh, you mean in VLC lib itself. BTW, will there be a "static link exception"
for the iOS App Store?

~~~
jbk
I am not sure to understand what you mean, to be honest.

~~~
stcredzero
Look for "Static Library Exception"

[http://multinc.com/2009/08/24/compatibility-between-the-
ipho...](http://multinc.com/2009/08/24/compatibility-between-the-iphone-app-
store-and-the-lgpl/)

------
codebeaker
Congratulations to Jean-Baptiste, that's been an incredible arduous piece of
work for him.

~~~
jbk
Thanks a lot :)

------
Nursie
On a reading of how it was done, I guess if anyone had contributed stuff under
the GPL and particularly objected to LGPL relicensing the could probably still
make arguments about derivative works...

Interestingly there's no mention of dissenting opinions from anywhere. Not
that I'm implying that this move is a bad thing, I would just expect if you
ask a large enough group of developers _any_ question about licensing you
would get a variety of arguments cropping up.

~~~
pm215
The commit message includes in its list of modules which are not converted:

\- iOS audio output and video display, because author refuses the license
change

\- Mono, Headphone and Dolby, because author refuses the license change

So there is some dissenting opinion.

~~~
jbk
2 authors out of 230 is not that much... And for example, the author of
headphone objected only on Headphone and Dolby, but allowed the rest of his
code to be changed.

~~~
Nursie
That's quite remarkable, given how contrary and argumentative developers often
seem to be!

~~~
jbk
Yep. I was surprised too :)

------
Hupo
Good for them, I guess. Though VLC's popularity still makes me pretty sad and
how better video players like MPC-HC (on Windows) and mplayer/mplayer2 (on
everything else) are much more unknown in comparison. I mean, most of VLC's
development outside of the streaming stuff has been about playing catch-up
with these two for years.

But well, the unfortunate truth is that many people are bad at computers and
if they manage to mess their system playback up, VLC can certainly feel like a
"rescue" with its stand-alone nature. But well, I doubt most people care about
high-quality media files to begin with, and VLC sure plays those 700MB XviD
AVIs and so on just fine...

~~~
Nursie
VLC has been able to handle pretty much anything you throw at it for many
years and always been available across diverse platforms. It's an awesome
product.

Why so negative?

~~~
jbk
The main reason, is that VLC is too mainstream...

For people who want to spend hours to configure their system, MPC-HC with
madVR can give better upscaling and foobar gives better audio fidelity. Most
of the rest is usual rants from issues that VLC had in the past, but that 1337
video people like to bring up to explain how their setup is soooo much better.

~~~
andyzweb
I have to ask. Do you frequent /g/?

~~~
jbk
No. I am quite too busy for that...

------
freeman478
This mean that VLC could be back on the AppStore.

~~~
Argorak
Be aware that the LGPL still has some pitfalls in store here:

[http://multinc.com/2009/08/24/compatibility-between-the-
ipho...](http://multinc.com/2009/08/24/compatibility-between-the-iphone-app-
store-and-the-lgpl/)

~~~
jbk
An analysis of 2009 on the App Store is totally obsolete, knowing that the ToS
change every couple of months.

------
sanxiyn
Sun RPC should be mentioned here.

The long, sordid tale of Sun RPC, abbreviated somewhat, to protect the guily
and the irresponsible <http://spot.livejournal.com/315383.html>

GNU/Linux - finally it's Free software
[http://webmink.com/2010/08/30/gnulinux-finally-its-free-
soft...](http://webmink.com/2010/08/30/gnulinux-finally-its-free-software/)

The Saga of Sun RPC <http://ebb.org/bkuhn/blog/2010/08/27/sun-rpc.html>

------
sanxiyn
See also this post on Mozilla relicensing:

<http://blog.gerv.net/2006/03/relicensing_complete/>

------
beagle3
Wait, doesn't the LGPL require users to be able to substitute their own
compiled version?

How does the LGPL relicense solve the Apple AppStore problem everyone is
talking about? Apple may approve LGPLd code, but as far as I can tell, they
still do not comply with it under their current distribution system.

edit: wrote iOS instead of LGPL in the first line, thanks simonh

~~~
simonh
I think you mean LGPL where you say iOS in the first sentence.

I can't answer your question, but just point out that huge chunks of iOS
itself are LGPL already, such as webkit, and the LGPL version of ffmpeg is
already widely used.

There has been some speculation in the past that because iOS mandates static
linking that this is a problem for using LGPL libraries, but I fall into the
'linking creates a compilation, not a derived work' camp and if the
compilation interpretation is correct then static linking isn't a problem.

But every time I dig into LGPL interpretation and linking issues, eventually
my head starts hurting and I give up.

~~~
DannyBee
1\. Apple distributes source to the LGPL pieces, so that is not an issue for
them.

2\. The rest of what you said doesn't make much sense to me. I'm not clear on
what distinction you are trying to make.

There are those that believe that the question of linking is mostly irrelevant
to whether something is a derivative work. Lawrence Rosen is the canonical
example of folks in this camp. But even in that camp, static linking _may_ be
a problem, it just depends on what is being done.

So it's not really true that "static linking isn't a problem".

------
yarrel
That's a shame.

~~~
mikecsh
Why is it a shame?

~~~
endgame
Because while every piece of free software is a wound against proprietary
software, the more liberal licences like LGPL and the BSD/MIT-style licences
are a wound against free software: proprietary interests can take free code
without giving anything back.

~~~
pretoriusB
> _Because while every piece of free software is a wound against proprietary
> software, the more liberal licences like LGPL and the BSD/MIT-style licences
> are a wound against free software_

Some of like like our proprietary software very much, thank you. I wouldn't
want to live in a world where there would not have been a Photoshop, a
Premiere or a Logic Pro but only their open source "alternatives".

> _proprietary interests can take free code without giving anything back._

On the contrary. In reality BSD style licenses _enable_ companies to give
something back to a project, whereas they would not be able with a GPL
license. Sounds strange? Let me explain:

Take a BSD licensed project X.

(a) A company wants to ship something based on X, but as closed source and
with proprietary extensions.

(b) They can do it, since X is BSD licensed.

(c) In order not to have to maintain a fork themselves, they also give back
their fixes and improvements to the core X project, off which everybody in the
community benefits.

So, the company gets to add proprietary extensions and ship closed source code
based on X AND the project gets to benefit from the company's work on core X.

If X was GPL, the company would not have touched it, and would have opted for
some other project instead. All those contributions back to the X community
would have been lost.

That's how it works with Apple and LLVM, for example.

That's one of the reasons developers chose BSD/MIT/LGPL over GPL. Because they
_specifically_ want people and companies to be able to have that option.

~~~
mikegerwitz
> If X was GPL, the company would not have touched it, and would have opted
> for some other project instead. All those contributions back to the X
> community would have been lost.

It is important to understand the distinction between "open source" and "free
software". Open source focuses on the benefits of "open" code and development
and how it can create superior software. Free Software focuses on the ethical
issues---while free software developers certainly want contributors, the
emphasis is on the fact that the software respects your freedom and, for that,
it's far superior to any other proprietary alternative; free software users
constantly make sacrifices in functionality and usability, and we're okay with
that.

[http://www.gnu.org/philosophy/open-source-misses-the-
point.h...](http://www.gnu.org/philosophy/open-source-misses-the-point.html)

(I'm not saying that those are the views of the VLC project---I know very
little of their opinions.)

~~~
arrrg
I think the fundamental disconnect here is that many people think the freedom
you mention is not some sort of moral right.

I have yet to meet anyone who can convince me that freedoms 1 to 3 should, in
fact, be freedoms.

(I do not have a problem with anyone giving her or his software a license that
requires everyone to respect those four freedoms. What I do have a problem
with is when people are berated for picking a permissive license that,
however, doesn’t quite line up with the four freedoms.)

~~~
mikegerwitz
The freedoms represent an ethical issue---that software developers have
unprecedented control over their users. Why should I, as a hacker, be able to
tell you what you can and cannot do with your device? Furthermore, it raises
deep privacy issues---what kind of data am I collecting and why should I have
that data?

I entered the free software movement slowly (I began software development on
Windows as a young boy and was trained to think that bossing the user around
was a good thing; I thought it was fun to write DRM system and anti-features).
I began using GNU/Linux while still rationalizing my use of proprietary
software through Wine or by dual-booting into Windows. I then saw the benefits
of the "open source" development model. It wasn't until I spent the time
researching the reasons behind the free software movement that things began to
click. I was able to look back on everything I learned as a developer for
Windows and see that I _enjoyed_ the thought of controlling my users. I
enjoyed the power I got from programming---programming was empowerment, and
the only way to squeeze the money out of those unsuspecting users was to do it
forcefully.

People have fundamentally different philosophies when it comes to programming.
Do all proprietary software developers do so out of greed? On some level, sure
---they're not contributing that code so that others may benefit from it. But
are they doing it for the purpose of controlling their users? Not necessarily,
but they still are, even if they have the best of intentions. Is someone who
creates proprietary educational software for children in third world companies
"evil"? Certainly not. The problem is that they're denying them an additional
right---the right to modify that software, learn from it and use their devices
as they please.

Of course, we often see proprietary software used unethically, often times for
vendor lock-in or greed; corporations are worried that if they lighten their
grip on their users, that the users may run, or worse, do something [il]legal.
I don't believe that is the place of software developers. I remember, back
when I used Windows, I was obsessed with magic/illusion. I purchased a ton of
videos online teaching me various magic tricks, but the videos were laced with
DRM (which, at the time, as a Windows developer, I applauded). The problem
was, that I then upgraded my hardware. My videos no longer worked. I contacted
them for a new key, and could view them again. Then I got a new PC. And now I
use GNU/Linux. I can no longer watch those videos that I purchased because of
this unnecessary, artificial restriction. Was I going to distribute those
videos? No. Did that prevent others from stripping the restrictions and
distributing it anyway? Certainly not. I was being punished for others'
actions and the others weren't any worse off from the restrictions, because
they understood how to defeat them.

Of course, DRM's only one of the many issues (and DRM cannot exist in free
software, because the community would simply remove the anti-feature). What if
I were using some software---let's say Photoshop---and it crashed on me in the
middle of my work. Crap. Well, if I were using GIMP, I would run gdb on the
core dump (assuming a segfault) and inspect the problem. I would try to repeat
it. I could, if I wanted to, get my hands on the source code, fix the problem
and distribute that fix to others. If I didn't have the time or ability,
others could fix the problem for me, and we have the right to share those
changes. We have the right to benefit from those changes. With Photoshop, we'd
better start waiting. What if I was able to magically come up with a fix,
perhaps by modifying the machine code? Hold on---I'm not allowed to do that!
And I'm certainly not allowed to distribute that fix to others. And I'm
certainly not allowed to give my son a copy for his PC if he wanted to do an
art project for school.

The FSF provides a great deal of information on their philosophy:
<http://www.gnu.org/philosophy/>. You could also gain a great deal of insight
by reading up on the history: <http://shop.fsf.org/product/free-as-in-
freedom-2/> or by reading RMS' essays: <http://shop.fsf.org/product/signed-
fsfs/>.

And ultimately, you may find that you do not agree with our philosophy---many
don't. That's certainly your right, and I respect that. What I cannot respect,
and will not respect, is when that philosophy is used to exert control over
others.

(As a final note: many say we control developers through our "viral" licenses.
But keep in mind that we're trying to protect the users _from_ developers.
This means taking power away from developers. This is intentional.)

------
crististm
Lots of efforts that otherwise could have been used on something more
productive.

GPL was just fine. No VLC on AppStore - I could live without. Hey, I can live
without Apple too but this is not about me.

------
chj
Every time a GPL related post comes up, it always reminds me of the sqlite
project, and how the world could be simpler without those weird licenses.

<http://www.sqlite.org/copyright.html>

~~~
bad_user
In general you cannot place your work under public domain because in many
countries (including in the U.S. with some exceptions) the work must enter the
public domain by itself after the copyrights expired. The copyright term also
differs of course from country to country. Even worse, there are jurisdictions
in which the public domain is not recognized.

~~~
koko775
Did you even read the link?

> Even though SQLite is in the public domain and does not require a license,
> some users want to obtain a license anyway. Some reasons for obtaining a
> license include:

>

> * You are using SQLite in a jurisdiction that does not recognize the public
> domain.

> * You are using SQLite in a jurisdiction that does not recognize the right
> of an author to dedicate their work to the public domain.

> * You want to hold a tangible legal document as evidence that you have the
> legal right to use and distribute SQLite.

> * Your legal department tells you that you have to purchase a license.

>

> If you feel like you really have to purchase a license for SQLite, Hwaci,
> the company that employs the architect and principal developers of SQLite,
> will sell you one.

