MS-PL/GPL compatibility, was Re: For Approval: Microsoft Permissive License

Tobia Conforto tobia.conforto at
Thu Aug 23 23:48:08 UTC 2007

Alexander Terekhov wrote:
> Wilson, Andrew wrote:
> > Let's try cut-and-paste to keep it simple.  Can I cut and paste
> > a non-trivial amount of EPL code (let's say 10 lines or more)
> Would you real want to steal only 10 lines of BSD code? :-)

"Steal?"  I could hardly find a less appropriate term for talking about
collaboration, reuse, and collective development of open source software.
But I see a smiley there, so I'll suppose it was a jest I didn't get :-)

> Mere cut-and-paste without modification of code would constitute
> either compilation, collective work, or noncopyrightable aggregation,
> and neither affect copyright owners' adaptation rights (vs
> reproduction rights if copied portion deemed protected) under Section
> 106 of the U.S. Copyright Act.

No practical cut-and-paste is without modification.  I am not familiar
with most of those terms, but I'll pose you a practical example.

Suppose I mean to cut-and-paste a piece of code I find useful, let's say
a particular algorithm implementation, from a EPL-licensed work into a
BSD work.  As Andrew said, the general consensus is that yes, I can, but
the whole work (comprising code originally under BSD and code under EPL,
but now modified to work with each other) will need to be under EPL.

That is certainly in the spirit of both the BSD, a permissive license
that is mainly interested in keeping a copyright notice somewhere
appropriate ("This work is based in part on ... Copyright ...") and the
EPL, a license that seeks to propagate its permissions to derived code.

> EPL portion will remain under the EPL and BSD portion will remain
> under the BSD. It isn't rocket science.

What!?  Is your position that during continuing development, where code
is routinely moved around, modified, and "refactored", one has to keep
track of which bytes originally came from BSD and which from EPL and
mark them as such?  Or is the byte not the right unit of measure?
Shall one count lines of code?  Variable names?  What about variables
that get renamed?  Surely I have misunderstood you, because that is not
what is usually done.

In any case, the same seems not to be possible if you substitute MS-PL
for BSD in the above example (if the prominent interpretation of the
MS-PL license seen on this list is correct, which is far from certain
and awaiting confirmation from Mr. Thatcher, if he pleases.)

That is the source of most contempt against MS-PL, which seems to be all
but permissive, from the point of view of source distributions (which is
what concerns Open Source and OSI), and certainly of limited benefit to
the open source community as a whole (if this interpretation is true.)


More information about the License-discuss mailing list