doc/en_US.ISO8859-1/captions/2008/nycbsdcon/dixon-bsdvsgpl.sbv
Murray Stokely eb3a94b4f6 Another pass of human edited transcripts made for hire through Amazon
Mechanical Turk.

Sponsored By:	FreeBSD Foundation
2010-03-08 06:42:08 +00:00

906 lines
18 KiB
Text

0:00:11.849,0:00:14.669
welcome everybody welcome to BSD v. GPL
0:00:14.669,0:00:19.259
first I'd like to thank the organizers and the volunteers
0:00:19.259,0:00:20.609
making the New York City BSDCon possible
0:00:20.609,0:00:23.579
and my employer OmniTI
0:00:23.579,0:00:24.830
for sponsoring my talk
0:00:24.830,0:00:26.789
I had to get that in
0:00:26.789,0:00:29.169
a couple years ago I was invited to give a talk here
0:00:29.169,0:00:31.990
that was quite a lot of fun to give and
0:00:31.990,0:00:33.990
seemed to be well received. Fortunately they were
0:00:33.990,0:00:37.110
fool hardy enough to invite me back again
0:00:37.110,0:00:41.860
but as we know sequels really measure up so the
0:00:41.860,0:00:44.890
official title of this is not the sequel to ""BSD is Dying""
0:00:44.890,0:00:51.790
but don't worry it's just as short as the first one
0:00:51.790,0:00:54.530
BSD v. GPL the great debate
0:00:54.530,0:00:57.990
the ongoing conflict between users of the BSD
0:00:57.990,0:01:00.880
and GPL licenses
0:01:00.880,0:01:02.290
well what is the debate
0:01:02.290,0:01:03.430
do you mean like
0:01:03.430,0:01:04.799
gosh Jason
0:01:04.799,0:01:07.000
I didn't know there was a debate between
0:01:07.000,0:01:10.990
the BSD and GPL licenses
0:01:10.990,0:01:13.130
or like dull Jason
0:01:13.130,0:01:14.220
everyone knows that
0:01:14.220,0:01:15.869
BSD has already won
0:01:20.220,0:01:22.360
well for the sake of argument
0:01:22.360,0:01:25.250
let's assume that we're talking about the former
0:01:25.250,0:01:27.480
so back to the debate
0:01:27.480,0:01:30.680
which license is more free
0:01:30.680,0:01:33.430
it depends a lot on how you define freedom
0:01:33.430,0:01:37.000
is it a tool used to guarantee the freedom of the code
0:01:37.000,0:01:38.560
for everyone
0:01:38.560,0:01:39.900
or is it a mechanism
0:01:39.900,0:01:42.620
providing select freedoms
0:01:42.620,0:01:49.620
to a select group of users
0:01:52.420,0:01:56.980
I'll let you make that judgment for yourselves
0:01:56.980,0:01:59.540
but first let's step back in time a moment
0:01:59.540,0:02:01.570
look at the origins of the BSD
0:02:01.570,0:02:03.440
and GPL licenses
0:02:03.440,0:02:10.040
which should help us better understand
0:02:10.040,0:02:10.440
their goals and philosophies.
0:02:12.420,0:02:15.079
I know boo
0:02:15.079,0:02:20.049
Even though work on the ancestors of UNIX dates back to 1974
0:02:20.049,0:02:25.069
it took roughly fifteen years to get to a point
0:02:25.069,0:02:26.959
where these licenses became a necessity back in 1995
0:02:26.959,0:02:28.299
Richard Stallman
0:02:28.299,0:02:30.909
a member of the staff at MIT
0:02:30.909,0:02:31.840
had a dispute
0:02:31.840,0:02:34.769
with the company named UniPress
0:02:34.769,0:02:37.419
another developer named James Gosling
0:02:37.419,0:02:42.699
had developed the first version of Emacs written in C
0:02:43.759,0:02:47.809
After Stallman had incorporated parts of Goslings Emacs
0:02:47.809,0:02:48.809
into GNU Emacs
0:02:48.809,0:02:53.079
Gosling sold the rights to UniPress
0:02:53.079,0:02:55.719
UniPress threatened Stallman
0:02:55.719,0:02:58.569
against further redistribution of the Gosling
0:02:58.569,0:03:01.169
so he rewrote the effected portions
0:03:01.169,0:03:04.819
and released a new version under a copyleft license
0:03:04.819,0:03:08.449
call Emacs General Public License
0:03:08.449,0:03:10.220
the June 1988 issue
0:03:10.220,0:03:12.159
of the GNU bulletin
0:03:12.159,0:03:15.669
first mentioned that GNU general public license
0:03:15.669,0:03:18.449
but even then his earliest announcement foreshadowed
0:03:18.449,0:03:25.449
an underlying theme that forms the great debate
0:03:27.009,0:03:29.599
Switching gears
0:03:29.599,0:03:31.449
switching gears we find ourselves
0:03:31.449,0:03:33.609
in the summer of 1989
0:03:33.609,0:03:36.010
soaking up the summer rays in the computer lab
0:03:36.010,0:03:38.889
of CSRG of Cal Berkeley
0:03:38.889,0:03:41.019
The Berkeley Software Distribution
0:03:41.019,0:03:44.859
already had thousands of copies distributed to users
0:03:44.859,0:03:46.769
Because the releases included the source code
0:03:46.769,0:03:48.519
to AT&T Unix
0:03:48.519,0:03:50.799
as well as Berkeley's improvements
0:03:50.799,0:03:52.480
users were required to purchase
0:03:52.480,0:03:55.619
an AT&T source license
0:03:55.619,0:03:57.079
Demand had built up
0:03:57.079,0:03:59.139
for a version of BSD Unix
0:03:59.139,0:04:02.650
that didn't require an AT&T source license
0:04:02.650,0:04:05.269
So BSD developers were able to put together a release
0:04:05.269,0:04:07.039
free of AT&T code
0:04:07.039,0:04:10.609
that included the BSD originated TCP/IP networking
0:04:10.609,0:04:13.979
stack and supported utilities
0:04:13.979,0:04:17.339
This version was officially known as
0:04:17.339,0:04:18.339
Networking Release 1 or NET/1
0:04:18.339,0:04:20.359
and was released under a liberal license
0:04:20.359,0:04:22.839
where the user could redistribute the code
0:04:22.839,0:04:24.189
modified or unmodified
0:04:24.189,0:04:26.449
in source or binary form
0:04:26.449,0:04:30.169
with no accounting of royalties to Berkeley
0:04:30.169,0:04:32.069
Even with these liberal terms
0:04:32.069,0:04:35.470
hundreds of organizations step forward to pay the $1000 fee
0:04:35.470,0:04:41.590
for copies of the official NET/1 media
0:04:41.590,0:04:45.989
By 1991 the free software community had considerable
0:04:45.989,0:04:48.239
momentum with the success of the GNU
0:04:48.239,0:04:50.709
compiler collection in userland tools
0:04:50.709,0:04:53.059
Berkeley's own networking release 2
0:04:53.059,0:04:56.180
GPLv2 and the Lesser General Public License
0:04:56.180,0:04:58.419
and the Linux kernel
0:04:59.639,0:05:02.130
a fledgling knockoff of MINIX
0:05:02.130,0:05:03.400
created by a student
0:05:03.400,0:05:08.219
at the University of Helsinki
0:05:08.219,0:05:12.879
Come 1992 the BSD community was buckling up for a wild right
0:05:12.879,0:05:15.080
Unix Systems Laboratories
0:05:15.080,0:05:17.709
a subsidiary of AT&T
0:05:17.709,0:05:20.050
filed suit against BSDI
0:05:20.050,0:05:22.840
claiming that their derivative of Berkeley's NET/2
0:05:22.840,0:05:25.919
infringed on the official the AT&T copyrights
0:05:25.919,0:05:27.460
By 1994
0:05:27.460,0:05:28.920
the lawsuit was settled
0:05:28.920,0:05:32.520
largely in favor of BSDI and Cal Berkeley
0:05:32.520,0:05:38.819
But the impact of BSD adoption was substantial
0:05:38.819,0:05:41.149
Hello!!
0:05:41.149,0:05:45.660
New users gravitated to the Linux and GNU alternative
0:05:45.660,0:05:48.469
in droves resulting in increased acceptance
0:05:48.469,0:05:54.490
of Stallman's GPL license and GNU manifesto with
0:05:54.490,0:05:56.010
A little bit of history under our belt we can begin to take
0:05:56.010,0:05:59.180
a deeper look at the goals of each license
0:05:59.180,0:06:02.479
and the means it uses
0:06:02.479,0:06:06.699
and I means it uses to reach those ends
0:06:06.699,0:06:09.909
Certainly these two licenses share some common goals
0:06:09.909,0:06:12.250
they're both OSI approved licenses
0:06:12.250,0:06:13.310
and suitable
0:06:13.310,0:06:16.870
for a variety of software projects
0:06:16.870,0:06:20.459
Both licenses require attribution to remain intact
0:06:20.459,0:06:23.770
typically in the form of a copyright notice within the
0:06:23.770,0:06:26.560
license. Every developer reserves the right to point
0:06:26.560,0:06:29.509
a completed works and take credit for their efforts
0:06:29.509,0:06:33.529
admittedly some may choose not to
0:06:33.529,0:06:37.439
We don't have any MySQL developers in here. do we?
0:06:37.439,0:06:41.729
Both licenses
0:06:41.729,0:06:43.999
both licenses convey freedoms to the user
0:06:43.999,0:06:47.399
to use the code as he or she sees fit
0:06:47.399,0:06:50.059
to read and learn from the code
0:06:50.059,0:06:52.059
use the resulting binaries
0:06:52.059,0:06:54.470
to develop your own applications
0:06:54.470,0:06:59.960
and stick it to your favorite three letter agencies
0:06:59.960,0:07:02.619
both licenses allow users
0:07:02.619,0:07:04.500
to redistribute
0:07:04.500,0:07:06.979
source code in binary forms
0:07:06.979,0:07:08.930
provided certain conditions are met
0:07:08.930,0:07:11.949
We'll come back to this in a few moments
0:07:11.949,0:07:14.969
Both licenses provide some basic disclaimers
0:07:14.969,0:07:17.699
as a layer of protection for the developer
0:07:17.699,0:07:21.159
against claims of liability
0:07:21.159,0:07:22.949
for any direct
0:07:22.949,0:07:24.539
indirect
0:07:24.539,0:07:26.550
incidental
0:07:26.550,0:07:27.999
exemplary
0:07:27.999,0:07:30.659
That is a really hard one to get a picture of
0:07:30.659,0:07:37.289
or consequential damages
0:07:37.289,0:07:39.070
Including but not limited to
0:07:39.070,0:07:46.070
procurement of substitute goods and services
0:07:46.939,0:07:48.060
loss of use,
0:07:55.789,0:08:02.789
loss of data,
0:08:04.990,0:08:09.710
loss of profits,
0:08:09.710,0:08:16.710
or business interruption
0:08:17.119,0:08:20.519
I'd like to say that I did this slide before this week
0:08:20.519,0:08:24.449
anyone who knows me knows that's not true
0:08:24.449,0:08:27.799
As we've seen both BSD and GPL licenses share
0:08:27.799,0:08:28.599
some common freedoms
0:08:28.599,0:08:31.839
but as we know the devil's in the details
0:08:31.839,0:08:34.800
I'd actually like to ask for audience participation
0:08:34.800,0:08:35.600
in the following slides
0:08:35.600,0:08:36.719
this is my own experiment
0:08:36.719,0:08:41.110
to help gauge the communities familiarity with the licenses
0:08:41.110,0:08:42.870
I'm going to read off a phrase and I would like
0:08:42.870,0:08:45.990
you all to tell me which license it is applicable too
0:08:45.990,0:08:49.120
ok lets begin
0:08:49.120,0:08:50.029
freedom for everyone
0:08:50.029,0:08:51.619
even businesses
0:08:51.619,0:08:54.810
BSD
0:08:54.810,0:08:57.060
anti-capitalist socialism
0:08:57.060,0:09:00.560
GPL
0:09:00.560,0:09:02.210
thank you
0:09:02.210,0:09:04.540
that's correct
0:09:04.540,0:09:08.190
easy compliance BSD
0:09:08.190,0:09:09.529
force code
0:09:09.529,0:09:10.700
to remain open
0:09:10.700,0:09:13.190
GPL
0:09:13.190,0:09:15.230
world domination
0:09:15.230,0:09:18.180
BSD
0:09:18.180,0:09:19.690
perhaps FreeBSD
0:09:22.080,0:09:25.420
I'll give you half credit
0:09:25.420,0:09:29.960
shut up and hack. FreeBSD. thank you
0:09:29.960,0:09:31.220
brief and simple
0:09:31.220,0:09:33.620
BSD
0:09:33.620,0:09:40.190
complex and obtuse. FreeBSD
0:09:42.200,0:09:44.250
somebody hacked
0:09:44.390,0:09:47.300
This is not the ASP graph this is something
0:09:47.300,0:09:49.800
someone pointed to online it represents the word count
0:09:49.800,0:09:55.800
in each version of the BSD and GPL licenses
0:10:01.790,0:10:06.270
BSD actually goes to as you move the fourth and third classes
0:10:11.340,0:10:15.120
take that as you will
0:10:15.120,0:10:17.080
I mentioned previously that both include
0:10:17.080,0:10:19.260
some conditions regarding distribution
0:10:19.260,0:10:22.860
this in particular is where you see a real
0:10:22.860,0:10:23.370
diversion philosophies
0:10:23.370,0:10:26.439
The GPL license includes a number of terms and conditions
0:10:26.439,0:10:28.880
intent on restricting the sale, use
0:10:28.880,0:10:31.130
and redistribution of the effect it works
0:10:31.130,0:10:34.190
let's look at the examples
0:10:34.190,0:10:34.689
First
0:10:34.689,0:10:37.610
your allowed to copy and distribute the program source code
0:10:37.610,0:10:39.090
so long as you include
0:10:39.090,0:10:40.920
the copyright notice
0:10:40.920,0:10:43.040
the disclaimer of warranty
0:10:43.040,0:10:46.460
and any notices that refer to the license
0:10:46.460,0:10:52.230
I wasn't sure that anybody would get this
0:10:52.230,0:10:55.840
You may also charge a fee for packaging or
0:10:55.840,0:10:57.690
transferal of the work
0:10:57.690,0:11:02.750
or offer warranty protection for a fee
0:11:02.750,0:11:07.330
Which you may not sell the software
0:11:07.330,0:11:10.279
Second, you can copy or distribute any derivative works
0:11:10.279,0:11:13.010
providing you meet the following conditions
0:11:13.010,0:11:17.860
Any modified files most prominently displayed notice that
0:11:17.860,0:11:23.160
the files are changed it must be licensed as a whole and
0:11:23.160,0:11:26.740
no charge to any third parties and the program reads commands
0:11:26.740,0:11:28.800
interactively when run it must display an announcement
0:11:28.800,0:11:35.800
including a copyright notice and disclaimer of warrenty
0:11:37.570,0:11:40.860
Third, you may copy or distribute the code in binary form
0:11:40.860,0:11:43.140
provided you meet these conditions
0:11:43.140,0:11:46.190
you include the corresponding source code
0:11:46.190,0:11:49.860
and a written offer
0:11:49.860,0:11:52.380
valid for at least three years
0:11:52.380,0:11:57.720
to avoid any third party with a copy of the source code
0:11:57.720,0:12:04.720
For a fee not to exceed the cost of distributing the source code
0:12:06.120,0:12:08.820
there are other restrictions as well we have covered
0:12:08.820,0:12:09.690
the most intrusive ones
0:12:09.690,0:12:16.690
the other is man to the power of relevant gesturing
0:12:17.680,0:12:21.500
To be fair the BSD licenses and without its own restrictions
0:12:21.500,0:12:26.620
most of the mainstream BSD distributions such as FreeBSD,
0:12:26.620,0:12:30.620
NetBSD and DragonFly BSD
0:12:30.620,0:12:31.950
for further too cause BSD license when you code
0:12:31.950,0:12:34.420
the only BSD project goes one step further is using
0:12:34.420,0:12:38.600
the BSD like a modified ISC license with no extra causes
0:12:38.600,0:12:42.010
but again even these have a number restrictions
0:12:42.010,0:12:42.980
on users freedoms
0:12:42.980,0:12:44.500
Here's an exhaustive list
0:12:44.500,0:12:51.500
of these restrictions.
0:12:58.040,0:13:02.640
The more free licenses is the easier it is to comply with
0:13:02.640,0:13:05.190
Conversely the more complex a license becomes
0:13:05.190,0:13:10.240
the more likely it is that violations to occur
0:13:10.240,0:13:13.250
The software freedom law center
0:13:13.250,0:13:20.150
offers legal representation
0:13:20.150,0:13:23.220
the free and open source software projects
0:13:23.220,0:13:27.820
The web site will lead you to believe that they defend
0:13:27.820,0:13:28.590
the rights of all free software projects
0:13:28.590,0:13:30.830
But the quick review the press releases shows that every
0:13:30.830,0:13:35.560
single case that have accepted has been related to the GPL
0:13:35.560,0:13:38.040
In fact many of you may remember last year
0:13:38.040,0:13:41.570
when one of the Linux free licensed developers
0:13:41.570,0:13:43.519
realizes straight further Open BSD strive into the GPL
0:13:46.840,0:13:48.250
which is fine
0:13:48.250,0:13:52.860
But they also removed copyright license notification
0:13:52.860,0:13:55.020
The software freedom also stepped in
0:13:55.020,0:13:58.570
in convince Linux developers to correct their mistakes
0:13:58.570,0:14:02.570
But not until a storm of controversy was unleashed
0:14:02.570,0:14:06.700
causing hardship among the Linux and BSD communities
0:14:06.700,0:14:10.170
The press releases carefully worded
0:14:10.170,0:14:14.980
to make it sound
0:14:14.980,0:14:16.749
to make it sound like they were betting
0:14:16.749,0:14:20.360
the open FreeBSD license for compatibility
0:14:20.360,0:14:25.420
Rather than explaining how the Linux developers had
infringed on its copyright
0:14:25.420,0:14:31.830
does anyone else smell something? fun?
0:14:31.830,0:14:35.030
Because copyrights and software laws are so complex
0:14:35.030,0:14:38.830
The number of mess cropped up regarding BSD and GPL licenses
0:14:38.830,0:14:40.640
I'd like to conclude my talk
0:14:40.640,0:14:43.740
by clearing up the theories
0:14:43.740,0:14:45.010
Myth #1
0:14:45.010,0:14:47.390
The GPL license is more free
0:14:47.390,0:14:49.610
Although places restrictions on users
0:14:49.610,0:14:51.540
the aggregate of freedom caused by
0:14:51.540,0:14:54.420
forcing users to publish their changes
0:14:54.420,0:14:59.390
results in a greater level of freedom
0:14:59.390,0:15:01.880
Fact: More restrictions always means less free
0:15:01.880,0:15:03.579
Whether you are original developer
0:15:03.579,0:15:04.620
or end user the GPL always places
0:15:04.620,0:15:08.710
additional restrictions on your copying,
0:15:08.710,0:15:09.910
modification or
0:15:09.910,0:15:12.950
redistribution of the effected works
0:15:12.950,0:15:14.520
Myth#2
0:15:14.520,0:15:16.830
BSD code can be stolen
0:15:16.830,0:15:20.350
GPL can claim because the company can take the code
0:15:20.350,0:15:22.110
and make their changes proprietary
0:15:22.110,0:15:23.439
that is somehow lessens
0:15:23.439,0:15:29.000
the freeness of the original code.
0:15:29.000,0:15:31.450
Fact: This is completing harder bullshit
0:15:31.450,0:15:34.450
The original code is always as free as original
0:15:34.450,0:15:35.060
developer chooses it to be
0:15:35.060,0:15:40.760
Not even corporations can subvert rights of other users
0:15:40.760,0:15:41.130
to the BSD license code
0:15:41.130,0:15:42.600
Myth#3
0:15:42.600,0:15:45.060
Sir Richard Stallman is a socialist
0:15:45.060,0:15:48.670
intent on destroying commercial software companies
0:15:48.670,0:15:49.830
Fact:
0:15:53.780,0:15:56.310
Richard Stallman is actually communist
0:15:56.310,0:16:00.380
intent on destroying commercial software companies
0:16:00.380,0:16:03.380
Socialism actually promotes state ownership of
0:16:03.380,0:16:03.920
means of production
0:16:03.920,0:16:05.090
rather
0:16:05.090,0:16:07.090
Stallman believes in the class of state
0:16:07.090,0:16:07.870
what he makes about the rules