Free Software Licences, For Business and Society
Ciarán O'Riordan
Free Software Foundation Europe
Who am I?
- I work full-time for FSFE
- FSFE is one of 4 FSF's along with Boston, India, and
Latin America
- I help community participation in policy setting
- Software patents, European Copyright Direcitive
- ISO and OOXML
- GPLv3
Goals for today
- Understanding free software licences
- Analysing what has worked
- Looking at the changes in GPLv3
The most important thing
- What is free software?
- 0. Run it for any purpose
- 1. Study and modify
- 2. Distribute copies
- 3. Distribute modifications
- For most purposes, "Libre software" and "Open Source"
are the same
- These can be done commercially or non-commercially.
Why that definition?
- This definition comes from a group helping society
- By chance, it has worked well for businesses
- For society, these are the freedoms needed so that
people can help themselves;
- and so that the user community as a whole controls the
software
The old days
- 60s: These freedoms were normal
- 70s: Technical and legal restrictions appeared
- 80s: No one could use a computer and have those freedoms
Legal restrictions: Copyright
- When you write something, it's covered by copyright
- Copyright says no one can copy or distribute without
your permission
- To free your software from this restriction, you write a
permission note
- That's a free software licence
Technical restrictions: source code
- Computer programs have two forms
- One form which computers use
- Humans can't read that
- Humans write "source code"
- To free your software from this restriction, you
publish the source code
Free software in practice
- Free software is software where users can get:
- 1. A free software licence (permission notice)
- 2. Source code
- So, making free software is easy. A harder problem is
protecting it.
X Window System
- The X Window System is software for displaying graphics
on a screen.
- It was developed in the 70s and is still used today
- The developers released it as free software...
- ...but companies only redistributed with restrictions
GNU
- The GNU project launched in 1983 to ensure that all
users were free to use, study, copy, and redistribute
- If GNU used the simple X Windows System licence, it
would fail
- The GNU project developed "copyleft" licences
Copleft
- Copyleft is a way to use copyright law to increase
freedom instead of increasing restrictions
- The name is a joke because it reverses the usual purpose
of copyright
- Copyleft says: You can distribute *if* you don't add
restrictions
- So you have to pass on the free software licence and
make the source code available
- Copyleft is needed for sustainability
GPLv1
- GPLv1 said you must make source code available, if you
distribute binaries
- And it said modified works can't have extra
restrictions - your modifications must use the same
licence
GPLv2
- New problem: Software patents
- New requirement: if you are unable to give people all
the freedoms, you can't distribute the software
- So, patent holders couldn't force per-copy
royalties on free software
- They could still kill the program; we can't stop
that
- but they couldn't profit from harming us, so most people
wouldn't bother
- v2 was released in 1991. It had the same goal GPLv3
has: To protect the four freedoms in more circumstances
Why now?
- Technology changed
- Laws changed
- ...so the licence was changing anyway
- The free software community change: it has hackers,
businesses, and lawyers worldwide
- v3 tells everyone that beating free software is a moving
target
This is the easy way
- To make our life easier, as developers, users, and
businesses
- 1. We can lobby, which takes years and moves inches
- 2. We can use market power - but we're currently wasting that
- 3. Copyright gives us this concession: we write our own
licences - this is the easy bit
Licence compatibility
- A foreseeable problem: v3 would be incompatible with v2
- Each would say you can't add other requirements, and
each would contain different requirements
- FSF did two things:
- 1. Centralised copyright
- 2. Asked people to say "v2 or any later version" - and
most people did
Compatibility problems elsewhere
- In the late 90s, a lot of companies wrote new licences
- They were often incompatible
- Later, projects merged back toward GPL
- Mozilla, Qt toolkit, Java
- Today, GPL is used by 70%
- Licence proliferation is bad, but these let us see new
ideas
Why were these licences written?
- Sometimes for branding - this proved to be not worth
the incompatibility
- Sometimes to make a "commercial" free
software licence - this backfired
- Benefitting one company discourages others
- The GPL's equality is the reason for it's commercial
success (although unintentionally)
A global process
- Because people agreed to "or any later version", there
was a duty to make people aware
- It was supposed to last 12 months. It lasted 18.
- There were conferences around the world, with separate
funding.
The flow
- Comments were collected on gplv3.fsf.org
- They went to four committees
- The committees discussed them in their own ways
- Richard made the final decision
Pleasing everyone
- Richard made the final decision, but he didn't get his way
- GPLv3 had to be acceptable if it was to be of any use
- Some compromises are in there
- Making this the first GPL specifically business-friendly
The changes
- Internationalisation
- Tivoisation
- European Copyright Directive
- Patents
- Licence compatibility
Internationalisation
- Not very interesting - maybe the most important
- Replace the word "distribute" - this word
already different has meanings in different countries
- GPLv3 talks about "propagate" and "convey"
- International language - no USA focus
- Legally solid language from experience
Tivoisation
- Will be discussed by Mikko Välimäki
- Obvious need: Let them remove spyware
- Basic survival: A generation of non-programmable
computers means a generation of non-programmers
- Controversial because it was a new type of requirement;
necessary for protecting the same freedoms in a new
technical environment
- A compromise: only for "user devices"
European Copyright Directive
- This law says it's illegal to use non-authorised
software to get at copyrighted material
- What if someone only "authorised" their
version of some free software
- GPLv3 says that no one version can be
"authorised"
Patents
- Explicit patent grant
- Turning the Novell patent deal against itself
Licence compatibility
- Tried to be compatible with as many as possible
- In the end, it's compatible with Apache
- ...and maybe some others
- Achieving compatibility is really hard
Adoption
- Many GNU programs use GPLv3, including GCC
- Samba uses GPLv3
- SugarCRM uses GPLv3
- There have been no problems found
- There has been a vacuum of bad press