Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

we are planning to create a commercial product. The product consists of some MCUs and a small computer (we are developing on a Raspberry Pi at the moment).

The computer needs an operating system as we would like keep things like WLAN and booting as simple as possible. We created some software that runs on this computer (node.js application).

The most operating systems like Arch Linux are licensed under the GPL.

The product we would sell contains the computer with pre-installed OS and software. This system operates as a central access point to MCU devices and is able to control them.

We use other's software in our product. We do not modify their source code. The product (the computer part) consists of a computer, an OS and software we create.

  1. How does the use of an OS affect our own code (licence)?
  2. Is there a possibility of avoiding GPL for our own code? eg. shipping the software separated?
  3. Are there any effects to other components of our product, eg. the MCU part?
  4. The node.js application delivers a WebApp to the client where it is executed. Are there any effects (As we would like to sell parts of the code as an additional App on the App Stores)?

I know we make use of the work of the community and i respect this. The problem is: The software alone is kind of useless without the MCU devices. I do not expect a legal advice.

share|improve this question

1 Answer 1

up vote 4 down vote accepted

How does the use of an OS affect our own code (licence)?

GPL doesn't really stop you from distributing any software -directly or derived. So you handing over an Arch Linux CD to someone (even if you bill that person for it) - doesn't really violates anything.

Are there any effects to other components of our product, eg. the MCU part?

Secondly, if you are billing for hardware - you are only licensing for use and not for design, it is certainly fine - unless under GPLv3 you are adding restriction of usage. Hence, OS or any other software products doesn't impose restrictions on any hardware distribution. Software merely says it requires hardware of specifications or more.

Is there a possibility of avoiding GPL for our own code? eg. shipping the software seperated?

That's not quite needed I guess. However, it is important to understand that even if you ship a certain software separately, GPL (and its variants like LGPL) works on dependency. So billing separately or bundled has no difference on GPL applicability. (I will dwell more on this below.)

The node.js application delivers a WebApp to the client where it is executed. Are there any effects (As we would like to sell parts of the code as an additional App on the App Stores)?

Node.js is NOT GPL. From this: https://github.com/joyent/node/blob/master/LICENSE - but I might have overlooked something.

As long as you don't modify any software product and use it as is, you can distribute it freely (even if you are charging money to customer). If you modify existing software product and if the customer asks for the modified code - you have to handover your modification code. If your code is black box is independent of other GPL products - you can keep it closed as well.

If you feel, there is a lot of commercial value you are deriving while getting free of charge software - you might consider donating those author, but it doesn't mean you cann't use the product.

share|improve this answer
1  
but doesnt GPL say if you create code depending on other code under the GPL you have to licence your code as GPL? I know this is tricky but we are using the OS (file system, serialport etc.) We do sell a bundle of hardware and software preinstalled on that hardware. Nodejs is MIT licenced. –  pfried Nov 3 '12 at 9:53
1  
It depends on specifics. However, for example if you develop Kernel module, you have to open source it with GPL. But if you right application that access file system or serial port - it doesn't have to. –  Dipan Mehta Nov 3 '12 at 9:56
1  
okay this answered my question, thank you very much. –  pfried Nov 3 '12 at 9:57
1  
@pfried your code has to be "a derived work" not just rely on other GPL stuff. There is also a special exemption for kernel routines and system libraries so you can write a closed source kernel driver which obviosuly relies on lots of kernel code –  Martin Beckett Nov 3 '12 at 16:37

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.