Subject: Re: [ppc-mobo] Re: GPL-like hardware design license?
From: "John Metzger" <john_metzger@worldnet.att.net>
Date: Mon, 11 Oct 1999 21:10:44 -0700

>     And in the case of
>     Linux, the compilers and other GPL software it would take a very, very
long
>     time to "recreate" the source code but still it's just slowing people
down.
>
> That slowdown is sufficient to give people a large incentive to
> contribute to the free software.  See
> http://www.gnu.org/philosophy/pragmatic.html.

Don't the restrictions of the GPL also give some people a motivation to
clone software that is free of those restrictions, i.e. because Linux can't
be used for some purposes wouldn't some people have an incentive to create a
truly "free" Linux kernel substitute? After all the reason for Linux was to
get away form the restrictions of ATT's (or whoever's...) Unix license.

> It could be that you're following a practice that is common among
> programmers: abstracting situations to the barest outlines.

Actually I'm trying to be as practical as possible. i.e. How to convince
investors to spend a million dollars (or more) improving an open design,
give the results of that away and attempt to make money selling the
resultant hardware that anyone else can make without spending that million
bucks.

> That is
> not a useful way of thinking about either ethical issues or strategic
> issues.  The details that you throw away when you abstract are often
> crucial.

I'm not thinking about "ethical" or strategic issues. My concern is how to
provide a product my customers are willing to buy with their hard earned
cash and make sufficient profit that I can continue to improve the products.

However to me, it is the highest ethical good to provide a product which
customers are willing to buy AND to earn a profit on it, so I can pay
employees, higher more people, expand the business and continue serving my
customers needs. ("When the goal is to help others as well as oneself, we
call that idealism." Yeah, me to. To help others I have to not only survive,
have to earn a surplus (profit that can be reinvested). And providing a
valuable product or service is helping others, IMO.)

>     So why prohibit someone from lifting some of the routines to mix with
their
>     private code?
>
> Aside from the pragmatic benefits described above, non-free software
> doesn't deserve our help.

It's not non-free software that is being helped. It's free software that is
being helped (by having non-free software available for it's use). And it
happens to be something of a _mutual_ benefit to everyone.

"...replacing proprietary software which forbids cooperation". But... but...
but GPLed software forbids a certain kind of cooperation too. If forbids
mixing free code with non-free code in certain ways (and allows it in
others...)

"...GNU GPL ... says ``no'' to some of the things that people sometimes
want to do. There are users who say that this is a bad thing--that the GPL
``excludes'' some proprietary software developers who ``need to be brought
into the free software community.''

"But we are not excluding them from our community; they are choosing not to
enter. Their decision to make software proprietary is a decision to stay out
of our community. Being in our community means joining in cooperation with
us; we cannot ``bring them into our community'' if they don't want to join."

All true.

And it means denying ALL members of the community the benefits of mixing
free and non-free works because those with proprietary software see the
costs of release it as being too high. It prohibits the free side of the
community from leveraging their own free work to the maximum by combining
their work with proprietary work. Thus it harms the free side as much or
more than the proprietary side.

``If you will make your software free, you can use this code.''

How about, "you can use this code, if we can use your software for free."
(I'm willing to make the binary available at no cost, so anyone can use it,
I'm just not willing to publish ALL the source code. Suppose Apple were to
port QuickTime to Linux but only distributed it in binary form. I'd sure
like to be able to use it.)


>  It subjugates the users.

That's their choice. They are free to be subjugated or not, they can use
ONLY free software or, if the GPL permitted, they could choose to use mixed
code and be subjugated. GPL has taken that choice away from them, hence
GPled software is not really as free as it could be. In fact I'd say GPLed
code is as proprietary as just about any other restricted license. I don't
consider it free (in either sense, not beer nor freedom). If one chooses to
use Linux one is "subjugated" by it's license terms. Those restrictions may
not be important to you, but they may be important to others.

> If someone
> is not willing to share code with me, I won't share with him.

Sure you will. Nobody has to give you any code in return for your code. They
can just use what you create to run their company (say eBay servers on Linux
boxes) and make a billion bucks with it. Further I can (in theory) rewrite
all your code, just as I can redraw the schematic to avoid your license.
(Patenting the code, where possible, would give GPLed code stronger
protection. In that case I couldn't simply "redraw" the code to avoid the
GPL license to use the patent technology. I would have to use your code,
under your license terms, if I wanted the functionality your code provided.)



So if I write some specialized code that you would find useful (say very
useful...) but I was unwilling to publish the source, and I'm only willing
to sell you a license to use it in binary form (with license restrictions
such that you can't give it away to others that haven't paid for it) you
would decide not to use it. That's fine. But why force others to make the
same choice you would?  The issue isn't one of sharing, the issue is one of
getting what is most useful to you. Combining non-free code with free-code
may be useful to you or to someone else.

> That's what I think about software.  I see the issue as different for
> hardware, because it is so hard to copy or change hardware or to
> instantiate a hardware design.

Not hard, just expensive. It takes a lot of money because it takes a lot of
capital equipment that the average person can't afford. And to be cost
effective it requires building the hardware in some volume.

The capital equipment need to change GPled software is almost zero by
comparison and it costs nearly nothing to make a single, unique copy. So I
see the issues as different too.

>  Much much harder than it is to copy
> and change software.  So I don't think it is bad if hardware is non-free,
> as long as the specs are published.

So you'd recommend a non-GPL like license for "open" hardware. One that
allowed open (public) hardware designs to be much more freely mixed with
private/closed/proprietary designs? Why? From the "ethical/strategic" point
of view and what you are trying to accomplish with the GPL I see absolutely
no difference between hardware and software.

If I have some "firmware" burned into ROM that the Linux kernel calls
directly do I have to make that software public? (Suppose it's not my
software in the first place, it came with the hardware, I just want to use
it. Suppose it is my software. How does that change anything?).

Suppose the "firmware" is executed by some other processor (a DSP), but I
call those functions from the kernel? Can the firmware remain closed?

Where does one draw the line in an embedded system?

"And if cynics ridicule freedom, ridicule community...if ``hard nosed
realists'' say that profit is the only ideal...just ignore them, and use
copyleft all the same. "

I've got nothing against freedom (nor a community based on freedom), I'd
like the open hardware projects license to be even freer than the GPL
license.

I had considered using Linux as the possible base for some products that I
think would have been very innovative. Given this discussion I can't see how
on earth I could possibly make a decent return on the investment because I
don't have true freedom to do with Linux as I please. If I have to give
everyone the same ability to build the hardware widget I was going to build
there is no point trying to build it. Hence I'll look for a different way to
build the product that doesn't use Linux or not build it at all. The kind of
freedom that GPL offers is no real freedom. It's a straight jacket and the
so-called "free" software has a very, very high cost (much more expensive
than beer). If you want to ridicule the need to earn a profit then be my
guest. I simply can't pay the mortgage with the the "ideal."


BUT, If there are a bunch of engineers that want to help create this product
and are willing to work for nothing but the glory (80 hours a week, no pay,
no benefits except the IPO if we "make it"...) and are willing to do the
equivalent work of a million dollars of engineering don't hesitate to jump
up and volunteer.