From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 10076 invoked by alias); 22 Aug 2012 13:44:49 -0000 Received: (qmail 9933 invoked by uid 22791); 22 Aug 2012 13:44:47 -0000 X-SWARE-Spam-Status: No, hits=-4.6 required=5.0 tests=AWL,BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,FREEMAIL_FROM,KHOP_RCVD_TRUST,KHOP_THREADED,RCVD_IN_DNSWL_LOW,RCVD_IN_HOSTKARMA_YE X-Spam-Check-By: sourceware.org Received: from mail-ee0-f47.google.com (HELO mail-ee0-f47.google.com) (74.125.83.47) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Wed, 22 Aug 2012 13:44:33 +0000 Received: by eekb57 with SMTP id b57so326167eek.20 for ; Wed, 22 Aug 2012 06:44:32 -0700 (PDT) Received: by 10.14.224.4 with SMTP id w4mr18638672eep.21.1345643071978; Wed, 22 Aug 2012 06:44:31 -0700 (PDT) Received: from [192.168.1.26] (24.Red-83-32-11.dynamicIP.rima-tde.net. [83.32.11.24]) by mx.google.com with ESMTPS id u47sm13097915eeo.9.2012.08.22.06.44.30 (version=SSLv3 cipher=OTHER); Wed, 22 Aug 2012 06:44:31 -0700 (PDT) Message-ID: <5034E1DA.1010708@gmail.com> Date: Wed, 22 Aug 2012 14:03:00 -0000 From: =?ISO-8859-1?Q?=C1ngel_Gonz=E1lez?= User-Agent: Thunderbird MIME-Version: 1.0 To: Byron Blue CC: gcc-help@gcc.gnu.org Subject: Re: Simple question References: <7D3F997945FA4AEAA34010AAEFFD4335@Byron> In-Reply-To: <7D3F997945FA4AEAA34010AAEFFD4335@Byron> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-IsSubscribed: yes Mailing-List: contact gcc-help-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-help-owner@gcc.gnu.org X-SW-Source: 2012-08/txt/msg00178.txt.bz2 On 22/08/12 15:05, Byron Blue wrote: > We are considering moving our operating system to the Linux environment. > Our product is a commercial OMNI sonar system used throughout the > world in the commercial fishing industry. The software itself and > upgrades are free of charge to the user. > Of course, my choice for the compiler would be GCC. > I should initially point out that I am unfamiliar with both Linux and > therefore GCC. > > This is the question: > GCC uses the GNU license scheme. This operating system would be > embedding in our industrial computers and I do not (of course) want > the source code for our operating system to be open source - available > to our competitors. The GNU site is not quite clear in this area and > being new I would not want to "break the rules". Could I ask you for a > bit of clarification on this issue? > Thank you for your time and efforts, > > Byron Blue > Software Engineering > MAQ Sonar Compiling a program with gcc does not force it to be released under the GPL or other free software license. The compiler being under GPL license means that if you modified *the compiler*, then those modifications would need to be available under the GPL terms. I guess that was your doubt when contacting this mailing list (which isn't the best one for licensing advice, anyway). You also talk about "your operating system to be open source" and "using Linux". If you make your own OS compiled, you're in the above state as for any other compiled program. If instead of making your own Operating System, you provide your program installed with a Linux kernel (eg. you installed on a debian distribution), then yes, you would have to provide that code available to anyone which purchased your system. But that same code is already available for anyone from www.debian.org, so not really a problem for your company IMHO. You can provide your propietary software (without the code) installed in a debian distribution (whose code you do provide, but you didn't make either). Now, if you needed to modify the Linux kernel, eg. for adding a driver supporting your sonar, then you *may* need to license it under a free license (but may also depend on the kernel symbols you used), developing a propietary kernel driver is trickier, and I'm not completely sure it's possible. On the other hand, it's probably on your interest to contribute it to the kernel under the GPL. The business logic should be at the application (which is still propietary), the driver would contain code like "read from port rs232 with a 9600 baud-rate, checking the parity bit, and providing the stream to /dev/sonar" (not a top secret). If it's available upstream, you will receive comments from other developers (eg. "the way you're doing this is wrong, that may lead to deadlocks if xyz"), and it will be much easier to update from one kernel version to the next, since you won't need to sync in separately. And if someone really wanted to connect your sonar to a different computer running Linux instead of the computer you provided, they would still be buying you the hardware, so no profit loss there. Regards