Loomio
Tue 1 May 2018 9:47PM

How "open-source" is feasible?

J JC Public Seen by 278

[These thoughts are my own and do not necessarily represent those of the entire working group.]

The degree to which hardware and software is open-source can be quite controversial and subjective. How deep down the rabbit hole should we go? There are numerous debates regarding which license to pursue, which parts/manufacturers to avoid, and which design software to leverage. The consensus I have experienced is that open-source is often considered a philosophy and "best approach" toward freedom. A lack of "absolutely open-source" doesn't mean failure - it means that we still have work to do.

Initial approach:

  • Leverage FOSS development tools (e.g. KiCad) whenever possible
  • All source code for hardware/software publicly available (GitHub or self-hosted repository)

Road blocks:

  • No active/mature open-source GPU designs exist
  • No open-source FPGA architectures (?)

How far could we get and be "completely" free? Should we only include components within the laptop platform that are considered FOSS and disclose the known limitations? Should non-free components and software be developed within an "add-on" project, and optionally bundled together (similar to Debian)? I would like to stay as true as possible to the desire to be fully open-source, but understand that a strict interpretation could inhibit us from ever delivering a tangible product. This is where I would greatly appreciate your thoughts!

J

JC Tue 1 May 2018 9:49PM

[Migrating contribution from Paul H]

I think it's preferable to keep the initial objective (a RISC-V Laptop) small while acknowledging freedom as a prioritized design goal.
A completely free laptop would be great, but (as JC described) is not really possible. Others are already working on this in small steps, so IMHO this project should only attempt another small increase in freedom to maximize its chance of success.
The “Initial approach” (use free software where possible and publish sources where possible) seems sensible to me.
The Neo900 design (https://neo900.org/resources) does something interesting by isolating the non-free modem using analog switches and giving the application processor the ability to “cut the cord”.

L

lkcl Sat 5 May 2018 2:57PM

yes there is someone working on designing a libre FPGA, i'll have to look it up as it's hard to find. the Libre-RISC-V project has as part of its long-term goals to develop both "enough" of a 3D GPU to at least reach 5 GFLOPS, 150 Mega-pixels / second and around 30 Mega-triangles / second in a budget of under around 1.5 watts, and to also be able to do 1080p60 video decode of common commodity video formats.

KiCAD is... missing so many of the features that the best professional PCB CAD tools have that it is almost impossible to use for professional high-grade PCB development. The first time that the "Design Rules checking" is run from, for example, Mentor PADS 9.5, it can report well over two thousand errors. KiCAD is completely incapable of advising on any of them.

Regarding github: it's a non-free service. If the intention is to attract Libre developers and make them feel welcome, adding a hard dependence on github will prevent and prohibit them from contributing. Hosting gitolite3, gitweb and even setting up a fusionforge is not hugely difficult.

I agree with Paul H's sentiment: keeping a pragmatic perspective is important. I run a "shades of grey" mental algorithm where I will only compromise if all other practical Libre alternatives have been fully explored and "found wanting". For example, in the Libre RISC-V SoC there do not exist any practical Libre 3D GPUs yet... so it is highly likely that Vivante GC800 will be deployed. Why Vivante GC800? because it is low-power, low cost (only USD $250,000) and, crucially, it has been reverse-engineered and etnativ successfully runs on it.