1 |
On Mon, 2004-02-16 at 22:17, Donnie Berkholz wrote: |
2 |
> I won't elaborate on the reasons because it's been discussed quite |
3 |
> thoroughly in other forums [2-8]. |
4 |
|
5 |
As usual, I got the call for clarification etc. from Grant, so here it |
6 |
is. |
7 |
|
8 |
Here's a few thoughts on this, and a few worthwhile quotes from the |
9 |
references I supplied earlier and elsewhere. Note that I am not a |
10 |
lawyer. |
11 |
|
12 |
The wording of XFree86's license is quite vague. While its author has |
13 |
interpreted various parts of it on mailing lists, he has failed to |
14 |
clarify the license itself to match his interpretations. |
15 |
|
16 |
If Gentoo distributes a GPL program or driver that can build against any |
17 |
of the XFree86-licensed sources (for example, the SDK), Gentoo probably |
18 |
violates the GPL. If Gentoo distributes a GPL XFree86 driver (for |
19 |
example, x11-misc/synaptics) that can load into this X server, Gentoo |
20 |
probably violates the GPL. |
21 |
|
22 |
The development model of XFree86 is very closed. Multiple developers |
23 |
have stopped contributing to the project and begun maintaining things |
24 |
elsewhere because of this closed model. |
25 |
|
26 |
If Gentoo starts acknowledging ANY third-party contributions, it would |
27 |
be required to start acknowledging XFree86 as well. This takes up space |
28 |
in the docs, costs money to print and time to deal with, etc. |
29 |
|
30 |
"[Our distribution] is a strong supporter of open source software and |
31 |
technologies, and the new XFree86 license seems to be intended to |
32 |
restricting existing freedom for no real world technical or other |
33 |
gains. At least no gains that are beneficial to the community." |
34 |
|
35 |
The new clause of the XFree86 license: |
36 |
3) The end-user documentation included with the redistribution, if any, |
37 |
must include the following acknowledgment: "This product includes |
38 |
software developed by The XFree86 Project, Inc |
39 |
(http://www.xfree86.org/) and its contributors", in the same place |
40 |
and form as other third-party acknowledgments. Alternately, this |
41 |
acknowledgment may appear in the software itself, in the same form |
42 |
and location as other such third-party acknowledgments. |
43 |
|
44 |
Part of the GPL: |
45 |
6. Each time you redistribute the Program (or any work based on the |
46 |
Program), the recipient automatically receives a license from the |
47 |
original licensor to copy, distribute or modify the Program subject to |
48 |
these terms and conditions. You may not impose any further |
49 |
restrictions on the recipients' exercise of the rights granted herein. |
50 |
You are not responsible for enforcing compliance by third parties to |
51 |
this License. |
52 |
|
53 |
"3) Where is the derivative work boundary ? |
54 |
|
55 |
The problem is further muddled by the place where the boundary for |
56 |
something being considered a derivative work. The GPL, contrary to the |
57 |
LGPL, considers that everything linked with a another binary is a |
58 |
derivative work of it. I believe that this is mostly done so that |
59 |
someone could not modify or extend a GPLed library by putting the |
60 |
modified work in a wrapper or in the binary itself, which the LGPL |
61 |
allows for dynamic linking, and for static linking with some additional |
62 |
work. In our case, the problem is the opposite, since the XFree86 |
63 |
libraries may impose their further restrictions to the GPLed code, even |
64 |
if it is the GPL here who cross the boundary." |
65 |
|
66 |
|
67 |
Here's a list of files the new license was applied to: |
68 |
xc/config/util/: |
69 |
cleanlinks.sh revpath.c |
70 |
xc/lib/GLw/: |
71 |
Imakefile |
72 |
xc/lib/font/FreeType/module/: |
73 |
ftmodule.c |
74 |
xc/lib/font/Speedo/module/: |
75 |
speedomod.c |
76 |
xc/lib/font/Type1/module/: |
77 |
type1mod.c |
78 |
xc/lib/font/X-TrueType/module/: |
79 |
xttmodule.c |
80 |
xc/lib/font/bitmap/module/: |
81 |
bitmapmod.c |
82 |
xc/programs/Xserver/Xext/: |
83 |
sleepuntil.h xf86misc.c |
84 |
xc/programs/Xserver/afb/: |
85 |
afbmodule.c |
86 |
xc/programs/Xserver/cfb/: |
87 |
cfb16.h cfb24.h cfb32.h cfbmodule.c cfbunmap.h |
88 |
xc/programs/Xserver/cfb16/: |
89 |
cfbmodule.c |
90 |
xc/programs/Xserver/cfb24/: |
91 |
cfbmodule.c |
92 |
xc/programs/Xserver/cfb32/: |
93 |
cfbmodule.c |
94 |
xc/programs/Xserver/fb/: |
95 |
fbmodule.c |
96 |
xc/programs/Xserver/hw/xfree86/: |
97 |
CHANGELOG Options XF86Conf.cpp XF98Conf.cpp xf86Date.h |
98 |
xf86Version.h |
99 |
xc/programs/Xserver/hw/xfree86/common/: |
100 |
atKeynames.h compiler.h fourcc.h scoasm.h xf86.h |
101 |
xf86Beta.c xf86Bus.c xf86Bus.h xf86Config.h xf86Cursor.c |
102 |
xf86DPMS.c xf86Debug.c xf86DoProbe.c xf86DoScanPci.c |
103 |
xf86Events.c xf86Globals.c xf86Helper.c xf86InPriv.h |
104 |
xf86Init.c xf86Io.c xf86Kbd.c xf86KbdBSD.c xf86KbdLnx.c |
105 |
xf86Keymap.h xf86MiscExt.c xf86Mode.c xf86Module.h |
106 |
xf86Opt.h xf86Option.c xf86PM.c xf86PciInfo.h xf86Priv.h |
107 |
xf86Privstr.h xf86Resources.h xf86Versions.c |
108 |
xf86VidMode.c xf86XKB.c xf86Xinput.c xf86Xinput.h |
109 |
xf86cmap.c xf86cmap.h xf86fbBus.c xf86fbman.c xf86fbman.h |
110 |
xf86isaBus.c xf86noBus.c xf86pciBus.c xf86pciBus.h |
111 |
xf86str.h xf86xv.h xf86xvmc.c xf86xvmc.h xf86xvpriv.h |
112 |
xc/programs/Xserver/hw/xfree86/doc/sgml/: |
113 |
LICENSE.sgml |
114 |
xc/programs/Xserver/hw/xfree86/drivers/s3/: |
115 |
newmmio.h |
116 |
xc/programs/Xserver/hw/xfree86/drivers/s3virge/: |
117 |
Imakefile newmmio.h regs3v.h s3v.h s3v_accel.c s3v_dac.c |
118 |
s3v_dga.c s3v_driver.c s3v_hwcurs.c s3v_i2c.c |
119 |
s3v_macros.h |
120 |
xc/programs/Xserver/hw/xfree86/drivers/savage/: |
121 |
Imakefile savage_dga.c savage_i2c.c |
122 |
xc/programs/Xserver/hw/xfree86/drivers/tseng/: |
123 |
tseng_clock.c tseng_ramdac.c |
124 |
xc/programs/Xserver/hw/xfree86/etc/: |
125 |
pcitweak.c |
126 |
xc/programs/Xserver/hw/xfree86/input/mouse/: |
127 |
mouse.h mousePriv.h |
128 |
xc/programs/Xserver/hw/xfree86/loader/: |
129 |
dixsym.c dlloader.c extsym.c fontsym.c loader.c loader.h |
130 |
loaderProcs.h loadext.c loadfont.c loadmod.c misym.c os.c |
131 |
xf86sym.c |
132 |
xc/programs/Xserver/hw/xfree86/os-support/: |
133 |
assyntax.h int10Defines.h xf86OSmouse.h xf86OSpriv.h |
134 |
xf86_ansic.h xf86_libc.h |
135 |
xc/programs/Xserver/hw/xfree86/os-support/bsd/: |
136 |
bsd_kqueue_apm.c bsd_mouse.c |
137 |
xc/programs/Xserver/hw/xfree86/os-support/bsdi/: |
138 |
bsdi_mouse.c |
139 |
xc/programs/Xserver/hw/xfree86/os-support/bus/: |
140 |
460gxPCI.c 460gxPCI.h Pci.c Pci.h e8870PCI.c e8870PCI.h |
141 |
ia64Pci.c ix86Pci.c netbsdPci.c sparcPci.c xf86Pci.h |
142 |
zx1PCI.c zx1PCI.h |
143 |
xc/programs/Xserver/hw/xfree86/os-support/linux/: |
144 |
lnx_mouse.c |
145 |
xc/programs/Xserver/hw/xfree86/os-support/lynxos/: |
146 |
lynx_mouse.c |
147 |
xc/programs/Xserver/hw/xfree86/os-support/pmax/: |
148 |
pmax_mouse.c |
149 |
xc/programs/Xserver/hw/xfree86/os-support/shared/: |
150 |
agp_noop.c at_scancode.c kbd.c kmod_noop.c libc_wrapper.c |
151 |
pm_noop.c posix_tty.c sigio.c sigiostubs.c stdPci.c |
152 |
stdResource.c vidmem.c xf86Axp.c |
153 |
xc/programs/Xserver/hw/xfree86/os-support/sunos/: |
154 |
Imakefile sun_mouse.c |
155 |
xc/programs/Xserver/hw/xfree86/os-support/sysv/: |
156 |
sysv_mouse.c |
157 |
xc/programs/Xserver/hw/xfree86/parser/: |
158 |
Configint.h Device.c Files.c Flags.c Input.c Keyboard.c |
159 |
Layout.c Module.c Monitor.c Pointer.c Screen.c Vendor.c |
160 |
Video.c configProcs.h read.c scan.c write.c xf86Optrec.h |
161 |
xf86Parser.h xf86tokens.h |
162 |
xc/programs/Xserver/hw/xfree86/scanpci/: |
163 |
pciid2c.pl xf86PciData.h xf86PciStr.h xf86ScanPci.h |
164 |
xc/programs/Xserver/hw/xfree86/vgahw/: |
165 |
vgaHW.c vgaHW.h vgaHWmodule.c |
166 |
xc/programs/Xserver/hw/xfree86/xf1bpp/: |
167 |
mfbmodule.c xf1bpp.h |
168 |
xc/programs/Xserver/hw/xfree86/xf4bpp/: |
169 |
vgamodule.c |
170 |
xc/programs/Xserver/hw/xfree86/xf86cfg/: |
171 |
config.h |
172 |
xc/programs/Xserver/mfb/: |
173 |
mfbmodule.c |
174 |
xc/programs/Xserver/mi/: |
175 |
micoord.h |
176 |
xc/programs/Xserver/os/: |
177 |
log.c |
178 |
xc/programs/fstobdf/: |
179 |
fstobdf.h |
180 |
xc/programs/twm/: |
181 |
session.h |
182 |
xc/programs/xfs/include/: |
183 |
difs.h |
184 |
xc/programs/xmag/: |
185 |
CutPaste.h |
186 |
xc/programs/xmessage/: |
187 |
readfile.h xmessage.h |
188 |
|
189 |
|
190 |
That's a start. |
191 |
|
192 |
Thanks, |
193 |
Donnie |