Re: GPL vs. sweatshops (was Re: Bias)

"Deven T. Corzine" <[email protected]> Thu, 13 Jun 2002 09:27:18 -0400 (EDT)
Newsgroups gmane.comp.emulators.wine.license
Message-ID <[email protected]>
On 13 Jun 2002, Martin Wilck wrote:

> Am Mit, 2002-06-12 um 19.07 schrieb Deven T. Corzine:
> 
> > It looks like "MAPI" is the main IPC mechanism, is that right?  That's a 
> > messaging API; are there other IPC mechanisms as well?  (This is where 
> > completely unfamiliarity with Windows programming is limiting...)
> 
> AFAIK, MAPI is a closed standard. Otherwise it wouldn't be so hard
> to get an email client that can fully utilize an Exchange server.
> 
> Btw, if you have as little experience as you say, I recommend you start
> with something simpler than IPC.

Maybe so.  I was hoping it would just be usual IPC mechanisms like shared 
memory, messages, semaphores and the like.  Those ought to be fairly easy 
to map onto underlying Linux equivalents.  If it's an order of magnitude or 
two more complicated than that, it may be bigger than I can find time for.

> > A separate issue is I have no idea where the IPC code is in Wine, or how 
> > much has actually been implemented already.  There's no point if the whoe 
> > thing is done already.  If it's partly done, I'd need to familiarize myself 
> > with that particular code.
> 
> This is how it works: You read all the docs you can get your hands on.
> You grep and read the code until you are familiar with it. You make
> little changes and observe what they do. You watch the wine traces, and
> put in your own TRACEs to see what certain procedures do. If you're
> absolutely stuck you post to wine-devel. 
> 
> This is basically how all of us work.

Yes, yes.  Of course I can do that.  But that takes a long time to get 
oriented and start making sense of things.  I've done that with Mozilla 
before, and even working in a very isolated area, it takes quite a while to 
start making progress.  I'd love to be able to spend the kind of time that 
would take to help Wine out, but I just don't have that much time to spare.  
As it stands, if I do anything, I'm stealing time away from one of my other 
projects that needs attention.

My point is, if there's something low-level (so it doesn't depend on a lot 
of Windows-specific knowledge) and relatively small (so it's not a huge 
time commitment), and if I can find a guide to help me find my way (so I'm 
not wasting a lot of time getting oriented), then there's a good chance 
that I could manage to find enough time to help out.  After that, there's 
always a possibility I'd stick around and move on to another area, but the 
other projects calling me would probably demand my attention instead.

I'm not looking to tie up a lot of anyone's time with this, but groping 
blindly into the code isn't something I'm ready to jump into; although my 
skills are sufficient to do this, my Windows/Wine knowledge is minimal and 
my time is too limited to play that game.

Now, if nobody has the time to help be get started, so be it.  I'll have to 
give up on this notion and go work on my other projects instead.  But if 
there is something sufficiently low-level and constrained, I might be able 
to help with some code that might bore some people.  But without a guide 
volunteering to help me get started, I'm not likely to make the effort...

(I'm not saying I can't or won't do it, but honestly it's not likely.)

> After a considerable amount of work and time spent, you'll be able to do
> useful things, and you may even be able to tackle IPC. Another
> considerable amount of work, and you'll have patches ready for
> application. People will point out errors or misconceptions in your
> code, and you may have to make major modifications to get your code
> accepted into CVS. You'll have to put work into that as well. When it's
> in CVS, people will come up with bug reports in your code and tell you
> "my app xyz doesn't work". You'll have to deal with that, too.

I'm not offering to spend considerable amounts of time, because I just 
don't have that much to spare.  I learn quickly and program efficiently, 
but I'd need to work in a limited low-level area where my lack of Windows 
and Wine knowledge won't be much of a handicap.  If IPC is too complex, 
then it's probably not worth attacking right now.  It just sounded like 
something that might work.  If you've got a different low-level area to 
suggest that needs work, what would it be?

> When you have done all that, come back and tell us again freedom demands
> that any company can take that code of yours, put it into their 
> commercial product, make money, and never give anything back.

I haven't told you that before.  I said that the BSD license is more free 
than the GPL, which is proprietary and restrictive.  I understand why many 
developers don't want commercial interests taking advantage like that.  
Personally, I don't want my code taken advantage of that way, either.  So, 
I've not been inclined to release any of my code under the BSD license.  
However, for well-established projects, it's clear that BSD licensing can 
benefit the project, despite the unfairness of companies taking the code.

Some people don't mind being taken advantage of.  I don't really understand 
why, but they simply don't.  Maybe they already feel rewarded enough by the 
experience not to care; I don't know.  Some do mind, including myself and 
most open-source advocates, whether they like the GPL or not.  Believe me, 
I understand the motivation for wanting to put your works under the GPL; 
for many years, I was a True Believer.

I still think copyleft in general is a valuable concept, but the viral 
nature of the GPL concerns me more and more as the years go by.  I used to 
think the BSD folks were naive to allow exploitation of their works, but 
their model has worked well enough that I'm forced to consider the 
possibility that they may have a good idea, even if it seems like a bad 
idea on the surface.  I still can't quite bring myself to release new code 
under a BSD license, but I can see good arguments for doing so.

I'm not saying everyone ought to use BSD licenses, only that they appear to 
have unexpected benefits.  I do claim that the BSD license is more honestly 
"free" than the GPL, which grants some freedoms by restricting others.

Deven