www-commits
[Top][All Lists]
Advanced

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

www server/gnun/gnun.mk philosophy/free-hardwar...


From: Pavel Kharitonov
Subject: www server/gnun/gnun.mk philosophy/free-hardwar...
Date: Mon, 13 Apr 2015 10:20:32 +0000

CVSROOT:        /web/www
Module name:    www
Changes by:     Pavel Kharitonov <ineiev>       15/04/13 10:20:32

Modified files:
        server/gnun    : gnun.mk 
Added files:
        philosophy     : free-hardware-designs.html 

Log message:
        Rename free-hardware-and-free-hardware-designs to free-hardware-designs 
as per RT #1007555

CVSWeb URLs:
http://web.cvs.savannah.gnu.org/viewcvs/www/philosophy/free-hardware-designs.html?cvsroot=www&rev=1.1
http://web.cvs.savannah.gnu.org/viewcvs/www/server/gnun/gnun.mk?cvsroot=www&r1=1.404&r2=1.405

Patches:
Index: server/gnun/gnun.mk
===================================================================
RCS file: /web/www/www/server/gnun/gnun.mk,v
retrieving revision 1.404
retrieving revision 1.405
diff -u -b -r1.404 -r1.405
--- server/gnun/gnun.mk 13 Apr 2015 09:26:32 -0000      1.404
+++ server/gnun/gnun.mk 13 Apr 2015 10:20:32 -0000      1.405
@@ -471,7 +471,7 @@
                freedom-or-copyright \
                freedom-or-copyright-old \
                freedom-or-power \
-               free-hardware-and-free-hardware-designs \
+               free-hardware-designs \
                free-open-overlap \
                free-software-even-more-important \
                free-software-for-freedom \

Index: philosophy/free-hardware-designs.html
===================================================================
RCS file: philosophy/free-hardware-designs.html
diff -N philosophy/free-hardware-designs.html
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ philosophy/free-hardware-designs.html       13 Apr 2015 10:20:31 -0000      
1.1
@@ -0,0 +1,509 @@
+<!--#include virtual="/server/header.html" -->
+<!-- Parent-Version: 1.77 -->
+<title>Free Hardware and Free Hardware Designs
+- GNU Project - Free Software Foundation</title>
+<!--#include virtual="/server/gnun/initial-translations-list.html" -->
+<!--#include virtual="/server/banner.html" -->
+<h2>Free Hardware and Free Hardware Designs</h2>
+
+<p>by <a href="http://www.stallman.org/";>Richard M. Stallman</a></p>
+
+<blockquote>
+<p>Most of this article was published in two parts in wired.com in
+March 2015:</p>
+<ol>
+<li>
+<a href="http://www.wired.com/2015/03/need-free-digital-hardware-designs/";>
+Why We Need Free Digital Hardware Designs</a>
+</li>
+<li>
+<a 
href="http://www.wired.com/2015/03/richard-stallman-how-to-make-hardware-designs-free/";>
+Hardware Designs Should Be Free. Here’s How to Do It</a>
+</li>
+</ol>
+</blockquote>
+
+<p>To what extent do the ideas of free software extend to hardware?
+Is it a moral obligation to make our hardware designs free, just as it
+is to make our software free?  Does maintaining our freedom require
+rejecting hardware made from nonfree designs?</p>
+
+<h3>Definitions</h3>
+
+<p><em>Free software</em> is a matter of freedom, not price; broadly
+speaking, it means that users are free to use the software and to copy
+and redistribute the software, with or without changes.  More
+precisely, the definition is formulated in terms of <a
+href="/philosophy/free-sw.html">the four essential freedoms</a>.  To
+emphasize that &ldquo;free&rdquo;refers to freedom, not price, we
+often use the French or Spanish word &ldquo;libre&rdquo; along with
+&ldquo;free.&rdquo;</p>
+
+<p>Applying the same concept directly to hardware, <em>free
+hardware</em> means hardware that users are free to use and to copy
+and redistribute with or without changes.  However, there are no
+copiers for hardware, aside from keys, DNA, and plastic objects'
+exterior shapes.  Most hardware is made by fabrication from some sort
+of design.  The design comes before the hardware.</p>
+
+<p>Thus, the concept we really need is that of a <em>free hardware
+design</em>.  That's simple: it means a design that permits users to
+use the design (i.e., fabricate hardware from it) and to copy and
+redistribute it, with or without changes.  The design must provide the
+same four freedoms that define free software.  Then &ldquo;free
+hardware&rdquo; means hardware with an available free design.</p>
+
+<p>People first encountering the idea of free software often think it
+means you can get a copy gratis.  Many free programs are available for
+zero price, since it costs you nothing to download your own copy, but
+that's not what &ldquo;free&rdquo; means here.  (In fact, some spyware
+programs such as <a
+href="/philosophy/proprietary/proprietary-surveillance.html">Flash
+Player and Angry Birds</a> are gratis although they are not free.)
+Saying &ldquo;libre&rdquo; along with &ldquo;free&rdquo; helps clarify
+the point.</p>
+
+<p>For hardware, this confusion tends to go in the other direction;
+hardware costs money to produce, so commercially made hardware won't
+be gratis (unless it is a loss-leader or a tie-in), but that does not
+prevent its design from being free/libre.  Things you make in your own
+3D printer can be quite cheap, but not exactly gratis since you will
+have to pay for the raw materials.  In ethical terms, the freedom
+issue trumps the price issue totally, since a device that denies
+freedom to its users is worth less than nothing.</p>
+
+<p>The terms &ldquo;open hardware&rdquo; and &ldquo;open source
+hardware&rdquo; are used by some with the same concrete meaning as
+&ldquo;free hardware,&rdquo; but those terms downplay freedom as an
+issue.  They were derived from the term &ldquo;open source
+software,&rdquo; which refers more or less to free software but <a
+href="/philosophy/open-source-misses-the-point.html">without talking
+about freedom or presenting the issue as a matter of right or
+wrong</a>.  To underline the importance of freedom, we make a point of
+referring to freedom whenever it is pertinent; since
+&ldquo;open&rdquo; fails to do that, let's not substitute it for
+&ldquo;free.&rdquo;</p>
+
+<h3>Hardware and software</h3>
+
+<p>Hardware and software are fundamentally different.  A program, even
+in compiled executable form, is a collection of data which can be
+interpreted as instruction for a computer.  Like any other digital
+work, it can be copied and changed using a computer.  A copy of a
+program has no inherent physical form or embodiment.</p>
+
+<p>By contrast, hardware is a physical structure and its physicality
+is crucial.  While the hardware's design might be represented as data,
+in some cases even as a program, the design is not the hardware.  A
+design for a CPU can't execute a program.  You won't get very far
+trying to type on a design for a keyboard or display pixels on a
+design for a screen.</p>
+
+<p>Furthermore, while you can use a computer to modify or copy the
+hardware design, a computer can't convert the design into the physical
+structure it describes.  That requires fabrication equipment.</p>
+
+<h3>The boundary between hardware and software</h3>
+
+<p>What is the boundary, in digital devices, between hardware and
+software?  It follows from the definitions.  Software is the
+operational part of a device that can be copied and changed in a
+computer; hardware is the operational part that can't be.  This is the
+right way to make the distinction because it relates to the practical
+consequences.</p>
+
+<p>There is a gray area between hardware and software that contains
+firmware that <em>can</em> be upgraded or replaced, but is not meant
+ever to be upgraded or replaced once the product is sold.  In
+conceptual terms, the gray area is rather narrow.  In practice, it is
+important because many products fall in it.  We can treat that
+firmware as hardware with a small stretch.</p>
+
+<p>Some have said that preinstalled firmware programs and
+Field-Programmable Gate Array chips (FPGAs) &ldquo;blur the boundary
+between hardware and software,&rdquo; but I think that is a
+misinterpretation of the facts.  Firmware that is installed during use
+is software; firmware that is delivered inside the device and can't be
+changed is software by nature, but we can treat it as if it were a
+circuit.  As for FPGAs, the FPGA itself is hardware, but the gate
+pattern that is loaded into the FPGA is a kind of firmware.</p>
+
+<p>Running free gate patterns on FPGAs could potentially be a useful
+method for making digital devices that are free at the circuit level.
+However, to make FPGAs usable in the free world, we need free
+development tools for them.  The obstacle is that the format of the
+gate pattern file that gets loaded into the FPGA is secret.  Until
+recently there was <em>no</em> model of FPGA for which those files
+could be produced without nonfree (proprietary) tools.</p>
+
+<p>Thanks to a reverse-engineering effort, it is now possible to
+compile C programs and run them on the Xilinx Spartan 6 LX9 FPGA.  The
+tools do not yet support HDL (hardware definition language) code,
+though, so this does not offer a usable substitute for real digital
+chips.  Meanwhile, that model of FPGA is starting to get old.  These
+tools constitute a tremendous advance over the situation a few years
+ago, but there's a long way to go before FPGAs are fully usable in
+freedom.</p>
+
+<p>As for the HDL code itself, it can act as software (when it is run
+on an emulator or loaded into an FPGA) or as a hardware design (when
+it is realized in immutable silicon or a circuit board).</p>
+
+<h3>The ethical question for 3D printers</h3>
+
+<p>Ethically, <a
+href="/philosophy/free-software-even-more-important.html">software
+must be free</a>; a nonfree program is an injustice.  Should we take
+the same view for hardware designs?</p>
+
+<p>We certainly should, in the fields that 3D printing (or, more
+generally, any sort of personal fabrication) can handle.  Printer
+patterns to make a useful, practical object (i.e., functional rather
+than decorative) <em>must</em> be free because they are works made for
+practical use.  Users deserve control over these works, just as they
+deserve control over the software they use.  Distributing a nonfree
+functional object design is as wrong as distributing a nonfree
+program.</p>
+
+<p>Be careful to choose 3D printers that work with exclusively free
+software; the Free Software Foundation <a
+href="http://fsf.org/resources/hw/endorsement";>endorses such
+printers</a>.  Some 3D printers are made from free hardware designs,
+but <a
+href="http://www.cnet.com/news/pulling-back-from-open-source-hardware-makerbot-angers-some-adherents/";>Makerbot's
+hardware designs are nonfree</a>.</p>
+
+<h3>Must we reject nonfree digital hardware?</h3>
+
+<p>Is a nonfree digital <a href="#fn1">(*)</a> hardware design an
+injustice?  Must we, for our freedom's sake, reject all digital
+hardware made from nonfree designs, as we must reject nonfree
+software?</p>
+
+<p>Due to the conceptual parallel between hardware designs and
+software source code, many hardware hackers are quick to condemn
+nonfree hardware designs just like nonfree software.  I disagree
+because the circumstances for hardware and software are different.</p>
+
+<p>Present-day chip and board fabrication technology resembles the
+printing press: it lends itself to mass production in a factory.  It
+is more like copying books in 1950 than like copying software
+today.</p>
+
+<p>Freedom to copy and change software is an ethical imperative
+because those activities are feasible for those who use software: the
+equipment that enables you to use the software (a computer) is also
+sufficient to copy and change it.  Today's mobile computers are too
+weak to be good for this, but anyone can find a computer that's
+powerful enough.</p>
+
+<p>Moreover, a computer suffices to download and run a version changed
+by someone else who knows how, even if you are not a programmer.
+Indeed, nonprogrammers download software and run it every day.  This
+is why free software makes a real difference to nonprogrammers.</p>
+
+<p>How much of this applies to hardware?  Not everyone who can use
+digital hardware knows how to change a circuit design, or a chip
+design, but anyone who has a PC has the equipment needed to do so.
+Thus far, hardware is parallel to software, but next comes the big
+difference.</p>
+
+<p>You can't build and run a circuit design or a chip design in your
+computer.  Constructing a big circuit is a lot of painstaking work,
+and that's once you have the circuit board.  Fabricating a chip is not
+feasible for individuals today; only mass production can make them
+cheap enough.  With today's hardware technology, users can't download
+and run John H Hacker's modified version of a digital hardware design,
+as they could run John S Hacker's modified version of a program.
+Thus, the four freedoms don't give users today collective control over
+a hardware design as they give users collective control over a
+program.  That's where the reasoning showing that all software must be
+free fails to apply to today's hardware technology.</p>
+
+<p>In 1983 there was no free operating system, but it was clear that
+if we had one, we could immediately use it and get software freedom.
+All that was missing was the code for one.</p>
+
+<p>In 2014, if we had a free design for a CPU chip suitable for a PC,
+mass-produced chips made from that design would not give us the same
+freedom in the hardware domain.  If we're going to buy a product mass
+produced in a factory, this dependence on the factory causes most of
+the same problems as a nonfree design.  For free designs to give us
+hardware freedom, we need future fabrication technology.</p>
+
+<p>We can envision a future in which our personal fabricators can make
+chips, and our robots can assemble and solder them together with
+transformers, switches, keys, displays, fans and so on.  In that
+future we will all make our own computers (and fabricators and
+robots), and we will all be able to take advantage of modified designs
+made by those who know hardware.  The arguments for rejecting nonfree
+software will then apply to nonfree hardware designs too.</p>
+
+<p>That future is years away, at least.  In the meantime, there is no
+need to reject hardware with nonfree designs on principle.</p>
+
+<hr />
+
+<p id="fn1">* As used here, &ldquo;digital hardware&rdquo; includes
+hardware with some analog circuits and components in addition to
+digital ones.</p>
+
+<h3>We need free digital hardware designs</h3>
+
+<p>Although we need not reject digital hardware made from nonfree
+designs in today's circumstances, we need to develop free designs and
+should use them when feasible.  They provide advantages today, and in
+the future they may be the only way to use free software.</p>
+
+<p>Free hardware designs offer practical advantages.  Multiple
+companies can fabricate one, which reduces dependence on a single
+vendor.  Groups can arrange to fabricate them in quantity.  Having
+circuit diagrams or HDL code makes it possible to study the design to
+look for errors or malicious functionalities (it is known that the NSA
+has procured malicious weaknesses in some computing hardware).
+Furthermore, free designs can serve as building blocks to design
+computers and other complex devices, whose specs will be published and
+which will have fewer parts that could be used against us.</p>
+
+<p>Free hardware designs may become usable for some parts of our
+computers and networks, and for embedded systems, before we are able
+to make entire computers this way.</p>
+
+<p>Free hardware designs may become essential even before we can
+fabricate the hardware personally, if they become the only way to
+avoid nonfree software.  As common commercial hardware is increasingly
+designed to subjugate users, it becomes increasingly incompatible with
+free software, because of secret specifications and requirements for
+code to be signed by someone other than you.  Cell phone modem chips
+and even some graphics accelerators already require firmware to be
+signed by the manufacturer.  Any program in your computer, that
+someone else is allowed to change but you're not, is an instrument of
+unjust power over you; hardware that imposes that requirement is
+malicious hardware.  In the case of cell phone modem chips, all the
+models now available are malicious.</p>
+
+<p>Some day, free-design digital hardware may be the only platform
+that permits running a free system at all.  Let us aim to have the
+necessary free digital designs before then, and hope that we have the
+means to fabricate them cheaply enough for all users.</p>
+
+<p>If you design hardware, please make your designs free.  If you use
+hardware, please join in urging and pressuring companies to make
+hardware designs free.</p>
+
+<h3>Levels of design</h3>
+
+<p>Software has levels of implementation; a package might include
+libraries, commands and scripts, for instance.  But these levels don't
+make a significant difference for software freedom because it is
+feasible to make all the levels free.  Designing components of a
+program is the same sort of work as designing the code that combines
+them; likewise, building the components from source is the same sort
+of operation as building the combined program from source.  To make
+the whole thing free simply requires continuing the work until we have
+done the whole job.</p>
+
+<p>Therefore, we insist that a program be free at all levels.  For a
+program to qualify as free, every line of the source code that
+composes it must be free, so that you can rebuild the program out of
+free source code alone.</p>
+
+<p>Physical objects, by contrast, are often built out of components
+that are designed and build in a different kind of factory.  For
+instance, a computer is made from chips, but designing (or
+fabricating) chips is very different from designing (or fabricating)
+the computer out of chips.</p>
+
+<p>Thus, we need to distinguish <em>levels</em> in the design of a
+digital product (and maybe some other kinds of products).  The circuit
+that connects the chips is one level; each chip's design is another
+level.  In an FPGA, the interconnection of primitive cells is one
+level, while the primitive cells themselves are another level.  In the
+ideal future we will want the design be free at all levels.  Under
+present circumstances, just making one level free is a significant
+advance.</p>
+
+<p>However, if a design at one level combines free and nonfree parts
+&mdash; for example, a &ldquo;free&rdquo; HDL circuit that
+incorporates proprietary &ldquo;soft cores&rdquo; &mdash; we must
+conclude that the design as a whole is nonfree at that level.
+Likewise for nonfree &ldquo;wizards&rdquo; or &ldquo;macros,&rdquo; if
+they specify part of the interconnections of chips or programmably
+connected parts of chips.  The free parts may be a step towards the
+future goal of a free design, but reaching that goal entails replacing
+the nonfree parts.  They can never be admissible in the free
+world.</p>
+
+<h3>Licenses and copyright for free hardware designs</h3>
+
+<p>You make a hardware design free by releasing it under a free
+license.  We recommend using the GNU General Public License, version 3
+or later.  We designed GPL version 3 with a view to such use.</p>
+
+<p>Copyleft on circuits, and on nondecorative object shapes, doesn't
+go as far as one might suppose.  The copyright on these designs only
+applies to the way the design is drawn or written.  Copyleft is a way
+of using copyright law, so its effect carries only as far as copyright
+law carries.</p>
+
+<p>For instance, a circuit, as a topology, cannot be copyrighted (and
+therefore cannot be copylefted).  Definitions of circuits written in
+HDL can be copyrighted (and therefore copylefted), but the copyleft
+covers only the details of expression of the HDL code, not the circuit
+topology it generates.  Likewise, a drawing or layout of a circuit can
+be copyrighted, so it can be copylefted, but this only covers the
+drawing or layout, not the circuit topology.  Anyone can legally draw
+the same circuit topology in a different-looking way, or write a
+different HDL definition that produces the same circuit.</p>
+
+<p>Copyright doesn't cover physical circuits, so when people build
+instances of the circuit, the design's license will have no legal
+effect on what they do with the devices they have built.</p>
+
+<p>For drawings of objects, and 3D printer models, copyright doesn't
+cover making a different drawing of the same purely functional object
+shape.  It also doesn't cover the functional physical objects made
+from the drawing.  As far as copyright is concerned, everyone is free
+to make them and use them (and that's a freedom we need very much).
+In the US, copyright does not cover the functional aspects that the
+design describes, but <a
+href="http://www.copyright.gov/fls/fl103.html";>does cover decorative
+aspects</a>.  When one object has decorative aspects and functional
+aspects, you get into tricky ground <a href="#fn2">(*)</a>.</p>
+
+<p>All this may be true in your country as well, or it may not.
+Before producing objects commercially or in quantity, you should
+consult a local lawyer.  Copyright is not the only issue you need to
+be concerned with.  You might be attacked using patents, most likely
+held by entities that had nothing to do with making the design you're
+using, and there may be other legal issues as well.</p>
+
+<p>Keep in mind that copyright law and patent law are totally
+different.  It is a mistake to suppose that they have anything in
+common.  This is why the term &ldquo;<a
+href="/philosophy/not-ipr.html">intellectual property</a>&rdquo; is
+pure confusion and should be totally rejected.</p>
+
+<hr />
+
+<p id="fn2">* An article by Public Knowledge gives useful information
+about this <a
+href="https://www.publicknowledge.org/assets/uploads/documents/3_Steps_for_Licensing_Your_3D_Printed_Stuff.pdf";>
+complexity</a>, for the US, though it falls into the common mistake of
+using the bogus concept of &ldquo;intellectual property&rdquo; and the
+propaganda term &ldquo;<a
+href="/philosophy/words-to-avoid.html#Protection">protection</a>.&rdquo;</p>
+
+<h3>Promoting free hardware through repositories</h3>
+
+<p>The most effective way to push for published hardware designs to be
+free is through rules in the repositories where they are published.
+Repository operators should place the freedom of the people who will
+use the designs above the preferences of people who make the designs.
+This means requiring designs of useful objects to be free, as a
+condition for posting them.</p>
+
+<p>For decorative objects, that argument does not apply, so we don't
+have to insist they must be free.  However, we should insist that they
+be sharable.  Thus, a repository that handles both decorative object
+models and functional ones should have an appropriate license policy
+for each category.</p>
+
+<p>For digital designs, I suggest that the repository insist on GNU
+GPL v3-or-later, Apache 2.0, or CC-0.  For functional 3D designs, the
+repository should ask the design's author to choose one of four
+licenses: GNU GPL v3-or-later, Apache 2.0, CC-SA, CC-BY or CC-0.  For
+decorative designs, it should GNU GPL v3-or-later, Apache 2.0, CC-0,
+or any of the CC licenses.</p>
+
+<p>The repository should require all designs to be published as source
+code, and source code in secret formats usable only by proprietary
+design programs is not really adequate.  For a 3D model, the <a
+href="http://en.wikipedia.org/wiki/STL_%28file_format%29";>STL
+format</a> is not the preferred format for changing the design and
+thus is not source code, so the repository should not accept it,
+except perhaps accompanying real source code.</p>
+
+<p>There is no reason to choose one single format for the source code
+of hardware designs, but source formats that cannot yet be handled
+with free software should be accepted reluctantly at best.</p>
+
+<h3>Free hardware and warranties</h3>
+
+<p>In general, the authors of free hardware designs have no moral
+obligation to offer a warranty to those that fabricate the design.
+This is a different issue from the sale of physical hardware, which
+ought to come with a warranty from the seller and/or the
+manufacturer.</p>
+
+<h3>Conclusion</h3>
+
+<p>We already have suitable licenses to make our hardware designs
+free.  What we need is to recognize as a community that this is what
+we should do and to insist on free designs when we fabricate objects
+ourselves.</p>
+
+</div><!-- for id="content", starts in the include above -->
+<!--#include virtual="/server/footer.html" -->
+<div id="footer">
+<div class="unprintable">
+
+<p>Please send general FSF &amp; GNU inquiries to
+<a href="mailto:address@hidden";>&lt;address@hidden&gt;</a>.
+There are also <a href="/contact/">other ways to contact</a>
+the FSF.  Broken links and other corrections or suggestions can be sent
+to <a href="mailto:address@hidden";>&lt;address@hidden&gt;</a>.</p>
+
+<p><!-- TRANSLATORS: Ignore the original text in this paragraph,
+        replace it with the translation of these two:
+
+        We work hard and do our best to provide accurate, good quality
+        translations.  However, we are not exempt from imperfection.
+        Please send your comments and general suggestions in this regard
+        to <a href="mailto:address@hidden";>
+        &lt;address@hidden&gt;</a>.</p>
+
+        <p>For information on coordinating and submitting translations of
+        our web pages, see <a
+        href="/server/standards/README.translations.html">Translations
+        README</a>. -->
+Please see the <a
+href="/server/standards/README.translations.html">Translations
+README</a> for information on coordinating and submitting translations
+of this article.</p>
+</div>
+
+<!-- Regarding copyright, in general, standalone pages (as opposed to
+     files generated as part of manuals) on the GNU web server should
+     be under CC BY-ND 3.0 US.  Please do NOT change or remove this
+     without talking with the webmasters or licensing team first.
+     Please make sure the copyright date is consistent with the
+     document.  For web pages, it is ok to list just the latest year the
+     document was modified, or published.
+     
+     If you wish to list earlier years, that is ok too.
+     Either "2001, 2002, 2003" or "2001-2003" are ok for specifying
+     years, as long as each year in the range is in fact a copyrightable
+     year, i.e., a year in which the document was published (including
+     being publicly visible on the web or in a revision control system).
+     
+     There is more detail about copyright years in the GNU Maintainers
+     Information document, www.gnu.org/prep/maintain. -->
+
+<p>Copyright &copy; 2015 Richard Stallman</p>
+
+<p>This page is licensed under a <a rel="license"
+href="http://creativecommons.org/licenses/by-nd/3.0/us/";>Creative
+Commons Attribution-NoDerivs 3.0 United States License</a>.</p>
+
+<!--#include virtual="/server/bottom-notes.html" -->
+
+<p class="unprintable">Updated:
+<!-- timestamp start -->
+$Date: 2015/04/13 10:20:31 $
+<!-- timestamp end -->
+</p>
+</div>
+</div>
+</body>
+</html>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]