taskSavannah Administration - Tasks: task #15838, Submission of Freely Programmable...

 
 

task #15838: Submission of Freely Programmable Computer

Submitter:  Gary Wong <gtw>
Submitted:  Wed 16 Dec 2020 07:48:42 PM UTC
   
 
Should Start On:  Wed 16 Dec 2020 05:00:00 AM UTC Should be Finished on:  Sat 26 Dec 2020 05:00:00 AM UTC
Category:  Project Approval Priority:  * 5 - Normal
Status:  Cancelled Privacy:  Public
Assigned to:  ineiev Open/Closed:  Closed
* Mandatory Fields

Add a New Comment Rich Markup
   

Jump to the original submission

Mon 28 Dec 2020 07:34:09 PM UTC, comment #7: 

Thank you, cancelling.

Ineiev <ineiev>
Site Administrator
Mon 28 Dec 2020 06:21:32 PM UTC, comment #6: 

Never mind.  I think we'd all be better off if I host this work somewhere else.

Thanks anyway,
Gary.

Gary Wong <gtw>
Sun 27 Dec 2020 07:22:46 PM UTC, comment #5: 

I'm afraid I have to repeat a part of my previous comment.

The README file should be in the same directory with the files in question, and the covered files should be listed explicitly, else it's too easy to get the things wrong when adding new files or copying them to another package; for example, hardware/fpc-iii.3dmodels/ has no README.

Also, the KiCAD files still lack valid copyright notices.

Then, the README is only a fallback for the formats that have no place for notices; this doesn't seem the case at least for the schematics and the layout files.

comment #4:

> I don't think fpc-iii.pro is copyrightable, since it's not a creative work (a bunch of the contents would be identical for any 4-layer PCB; most of the rest is merely a record of which layers I happened to have visible the last time I modified the layout; overall it seems less copyrightable than the .gitignore files).


This isn't a good example: .gitignore files may be quite copyrightable.

One more point: have you really considered GPL compatibility with the KiCAD license? For instance, may I add a new GPLed sheet of schematic copyrighted by a third party to your package and then re-distribute it?

Ineiev <ineiev>
Site Administrator
Tue 22 Dec 2020 10:46:06 PM UTC, comment #4: 

comment #3:

> CC BY-SA 4.0 is distributed under the CC0, you should include it in your tarball.


Thanks, I've appended the CC0 terms now.

> Then, the README file should be in the same directory with the files in question, and the covered files should be listed explicitly, else it's too easy to get the things wrong when adding new files or copying them to another package.


OK, I now have multiple README files so each directory is described.

> Then files like hardware/*.{pro,sch,kicad_pcb} have no valid copyright and license notices; they look copyrightable, aren't they?


I've added notices referring to *.sch and fpc-iii.kicad_pcb.

I don't think fpc-iii.pro is copyrightable, since it's not a creative work (a bunch of the contents would be identical for any 4-layer PCB; most of the rest is merely a record of which layers I happened to have visible the last time I modified the layout; overall it seems less copyrightable than the .gitignore files).

I've updated https://savannah.nongnu.org/submissions_uploads/fpc-iii.tar.gz to incorporate the changes above, and to include the copyright/GPL3+ notice inadvertently omitted from tests/console/char.c.

Thanks,
Gary.

Gary Wong <gtw>
Tue 22 Dec 2020 11:48:22 AM UTC, comment #3: 


> > If you use some license, you should add a copy of it to your tarball.
>
> For clarification, those components are not my work.


This doesn't matter.  You are responsible for what your tarball contains.  The point is making all these files easy to legally reuse in other GPL-compatible free software packages.

> I've added a file to the tarball (hardware/COPYING.kicad) indicating which third party files are incorporated, and the text of CC BY-SA 4.0 + the KiCad exception.


Thank you!

CC BY-SA 4.0 is distributed under the CC0, you should include it in your tarball.

Then, the README file should be in the same directory with the files in question, and the covered files should be listed explicitly, else it's too easy to get the things wrong when adding new files or copying them to another package.

Also, these files still lack valid copyright notices.

> > All copyrightable files in your tarball should have valid copyright and license notices, including graphical files (to say nothing of files like README.md).
>
> OK.  I don't yet include any graphical files.


Then files like hardware/*.{pro,sch,kicad_pcb} have no valid copyright and license notices; they look copyrightable, aren't they?

> > > The schematics and PCB layout files require KiCad to be useful in practice: GNU GPL 3+, https://kicad.org/
> >
> > As far as I understand, any decent distribution should include generated output files for schematics (like PDF or PS) and layout (Gerber + Excellon), which is sufficient to be useful in practice; the editor is needed when the user wants to make changes.
>
> Agreed.  Are you suggesting I include such output files?


It's up to you; I only wanted to clarify the situation for myself.

Ineiev <ineiev>
Site Administrator
Mon 21 Dec 2020 10:57:09 PM UTC, comment #2: 

Hi Ineiev, and thank you for the review!

comment #1:

> > * License: GNU General Public License v3 or later (Many of the component definitions are licensed under the Creative Commons Attribution-ShareAlike 4.0 International License (CC BY-SA)+additional permissions, compatible with GNU GPL 3+.)
>
> If you use some license, you should add a copy of it to your tarball.


For clarification, those components are not my work.  I've added a file to the tarball (hardware/COPYING.kicad) indicating which third party files are incorporated, and the text of CC BY-SA 4.0 + the KiCad exception.

> All copyrightable files in your tarball should have valid copyright and license notices, including graphical files (to say nothing of files like README.md).


OK.  I don't yet include any graphical files.  I've added the GNU All-Permissive License notice to the bottom of the README.

> > The schematics and PCB layout files require KiCad to be useful in practice: GNU GPL 3+, https://kicad.org/
>
> As far as I understand, any decent distribution should include generated output files for schematics (like PDF or PS) and layout (Gerber + Excellon), which is sufficient to be useful in practice; the editor is needed when the user wants to make changes.


Agreed.  Are you suggesting I include such output files?  I'm willing to add them to release tarballs, but I prefer to avoid the maintenance burden of including them under revision control.

> > The programmable logic was written with the intent of synthesis via Yosys (ISC licence, http://bygone.clairexen.net/yosys/), nextpnr (ISC licence, https://github.com/YosysHQ/nextpnr), and related tools...
>
> Could you elaborate on FPGA toolchain, including software for programming the EEPROM?


Certainly... while alternatives might be possible, I perform bitstream generation with the ecppack utility from Project Trellis (ISC licence, https://github.com/YosysHQ/prjtrellis), which is already a transitive dependency (via nextpnr).  Then the configuration can be applied via JTAG using (e.g.) OpenOCD (GNU GPL 2+, http://openocd.org).  I've added references to those projects in the README.

> > Whether or not it is "software" depends more on the choice of technology used to instantiate it.
>
> For the purpose the GPLv3, it doesn't matter: it defines,
>


> “The Program” refers to any copyrightable work licensed under this License.


I agree completely.  I am certain the licensing is appropriate; I brought it up only in case of doubts whether the project falls within the scope of what Savannah is intended to host.

I've uploaded a new tarball:

    https://savannah.nongnu.org/submissions_uploads/fpc-iii.tar.gz

incorporating the revisions above.

Thanks!

Gary Wong <gtw>
Mon 21 Dec 2020 07:43:57 PM UTC, comment #1: 


> * License: GNU General Public License v3 or later (Many of the component definitions are licensed under the Creative Commons Attribution-ShareAlike 4.0 International License (CC BY-SA)+additional permissions, compatible with GNU GPL 3+.)


If you use some license, you should add a copy of it to your tarball.

> This is FPC-III, the Freely Programmable Computer.

...

> The hardware (schematic and PCB layout) is specified in KiCad format, and sample logic is provided in the Verilog hardware description language.


All copyrightable files in your tarball should have valid copyright and license notices, including graphical files (to say nothing of files like README.md).

> The schematics and PCB layout files require KiCad to be useful in practice: GNU GPL 3+, https://kicad.org/


As far as I understand, any decent distribution should include generated output files for schematics (like PDF or PS) and layout (Gerber + Excellon), which is sufficient to be useful in practice; the editor is needed when the user wants to make changes.

> The programmable logic was written with the intent of synthesis via Yosys (ISC licence, http://bygone.clairexen.net/yosys/), nextpnr (ISC licence, https://github.com/YosysHQ/nextpnr), and related tools...


Could you elaborate on FPGA toolchain, including software for programming the EEPROM?

>...However, the same logic could equally well be used in conjunction with (e.g.) Icarus Verilog  (GNU GPL 2+, http://iverilog.icarus.com/), which would then provide a strictly software simulation, so no single tool is a strict dependency.


I believe simulation is only useful to debug the real hardware; in practice one needs tools to build software and upload it to the device.

> Whether or not it is "software" depends more on the choice of technology used to instantiate it.


For the purpose the GPLv3, it doesn't matter: it defines,


“The Program” refers to any copyrightable work licensed under this License.


Ineiev <ineiev>
Site Administrator
Wed 16 Dec 2020 07:48:42 PM UTC, original submission:  

A new project has been registered at Savannah
This project account will remain inactive until a site admin approves
or discards the registration.


Registration Administration


While this item will be useful to track the registration process,
approving or discarding the registration must be done using the specific Group Administration page, accessible only to site administrators,
effectively logged as site administrators (superuser):



Registration Details


  • Name: Freely Programmable Computer
  • System Name:  fpc-iii
  • Type: non-GNU software and documentation
  • License: GNU General Public License v3 or later (Many of the component definitions are licensed under the Creative Commons Attribution-ShareAlike 4.0 International License (CC BY-SA)+additional permissions, compatible with GNU GPL 3+.)





Description:

This is FPC-III, the Freely Programmable Computer.  It is designed to allow users to program it as flexibly as is practical, by avoiding technical or legal restrictions on the ways it can be configured.

The design is centred around an 84,000 logic element FPGA (which can be configured to incorporate one or more soft CPUs), and also includes 512 MB RAM, and small flash and EEPROM configuration storage.  Peripherals include an SD card, 100 Mb Ethernet, HDMI, various USB ports, and an amateur radio transceiver.

The hardware (schematic and PCB layout) is specified in KiCad format, and sample logic is provided in the Verilog hardware description language.



Other Software Required:

The schematics and PCB layout files require KiCad to be useful in practice: GNU GPL 3+, https://kicad.org/

The programmable logic was written with the intent of synthesis via Yosys (ISC licence, http://bygone.clairexen.net/yosys/), nextpnr (ISC licence, https://github.com/YosysHQ/nextpnr), and related tools.  However, the same logic could equally well be used in conjunction with (e.g.) Icarus Verilog  (GNU GPL 2+, http://iverilog.icarus.com/), which would then provide a strictly software simulation, so no single tool is a strict dependency.


Other Comments:

When I affirm "My project runs primarily on a completely free OS", I feel I very much fulfill the spirit of the statement, although in literal terms it would be more accurate to say "my project aims to exist primarily BENEATH a completely free OS".

Similarly, claiming that FPC-III is Free Software is slightly vague -- not because it isn't free, but because it isn't exactly software.  A more concrete classification is that it is "The Program" under the GNU GPL 3 definition: it is a copyrightable practical work, published as the preferred form for making modifications to that work.  Whether or not it is "software" depends more on the choice of technology used to instantiate it.


Tarball URL:

https://savannah.nongnu.org/submissions_uploads/fpc-iii.tar.gz


Gary Wong <gtw>

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -email is unavailable- added by ineiev (Posted a comment)
  • -email is unavailable- added by gtw (Submitted the item)
  •  

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 4 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2020-12-28 ineiev StatusIn Progress Cancelled
        Open/ClosedOpen Closed
    2020-12-21 ineiev StatusNone In Progress
        Assigned toNone ineiev

    Back to the top

    Powered by Savane 3.13-4b48.
    Corresponding source code