[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [PEAR-QA] PHP License

On Wednesday 24 August 2005 03:44 pm, Måns Rullgård wrote:
> Sean Kellogg <skellogg@u.washington.edu> writes:
> > On Wednesday 24 August 2005 02:17 pm, Måns Rullgård wrote:
> >> Sean Kellogg <skellogg@u.washington.edu> writes:
> >> > On Wednesday 24 August 2005 01:46 pm, Catatonic Porpoise wrote:
> >> >> Sean Kellogg wrote:
> >> >> >I'm pretty sure it is a PHP-derivative.  It relies on all sorts of
> >> >> > built in PHP functions to create the finished work.  Perhaps...
> >> >> > PERHAPS... the code you download for phpbb, on its own, MIGHT be a
> >> >> > separate and distinct work, but it's not "phpbb" until it's merged
> >> >> > with PHP functions to create the finished, derived work.
> >> >>
> >> >> I see a little problem with this line of reasoning. It would seem to
> >> >> imply that if I post a C program I wrote on my website, in source
> >> >> code form, that program is subject to the license of every libc
> >> >> anyone might ever compile it with.
> >> >
> >> > I would think the code you post is just code.  You're free to post
> >> > your own code as much as you like.  However, if I download that code
> >> > and use it in conjunction with glibc, then yes, I must abide by the
> >> > license chosen by the authors of glibc.  But it does raise an
> >> > interesting question...
> >>
> >> [...]
> >>
> >> > But if we assume the developers of phpBB actually downloaded PHP,
> >> > they agreed to not make derivative software with certain titles.
> >> > Going back to the C example you raised...  the developer of the C
> >> > program must abide by the terms of the libc he or she chose to
> >> > develop with.
> >>
> >> I build my code on a variety of systems, including Linux/glibc, *BSD,
> >> Solaris, AIX, MacOSX, etc.  Does this mean that my programs are
> >> derivatives of all these C libraries/compilers?
> >
> > Yeah, I believe so.
> That's absurd.  In theory, I could write the code without access to
> any of the libraries, only using the POSIX spec for reference.  The
> result could be compiled and run on any POSIX compliant system (and
> there are some).  Now in practice, I'll occasionally make a mistake,
> so I need to test the code to make sure it works.  If this makes my
> program a derivative of all these C libraries, I'm in real trouble,
> since I have no license to create such derivatives of most of them.

I must be failing to explain this very well...  because I feel like I've 
addressed this before.  Critical to this discussion is that the law finds 
distinction between source code and object code.  Source code, like what you 
wrote in the hypo above, is an original work.  You are free to do whatever 
you want with that source code.  But when you compile that source code, you 
include bits and peices of the C library you are compiling against, and as a 
result you create a derivative work.  As for the license, I suggest to you 
most of the C libraries you are using do give you permission to create 
derivative works (although they may not call them derivatives) or there is an 
understood implicit license to create limited derivative works necessary for 
creating your binaries.

> > This is why glibc is under the LGPL.
> No, the reason for that is that the FSF insists that using the GPL
> would disallow non-GPL programs linking with it at all, and for
> whatever reason they don't want that situation.

We are saying the same thing...  although you do so in a manner that suggests 
you disagree with the FSF position on the GPL.

> > It's really easy to create derived works under U.S. Law.
> >
> > As a side note, there is some really interesting unexplored areas of
> > law relating to derivative works and things like dynamic vs. static
> > linked libraries.  There is some case law, but I think it leaves a
> > lot unanswered.
> Indeed.
> > For the purposes of this discussion, I'm supporting the popular
> > contention that using a dynamically linked library creates a
> > derivative work (although, I have my doubts).
> The same logic applies here.  If the program can work with either of
> several different libraries, it is not a derivative of any.  If it
> were, we'd have the absurd situation of programs being derivatives of
> libraries written after the program.  Clearly, this is not possible.

As source code, it is not a derivative, I agree...  but once it is compiled it 
is now a derivative work joining the library with the code to form the final 
binary.  Its the act of compilation that creates the derivative work.


Sean Kellogg
3rd Year - University of Washington School of Law
Graduate & Professional Student Senate Treasurer
UW Service & Activities Committee Interim Chair 
w: http://www.probonogeek.org

So, let go
 ...Jump in
  ...Oh well, what you waiting for?
   ...it's all right
    ...'Cause there's beauty in the breakdown

Reply to: