Prev: how to enlarger Java heap size?
Next: JTable: how to change properties of a component located in a cell
From: John Leonard on 19 Sep 2009 12:43 I'm studying the JAXB API. The sample source code files provided by Sun have the following inclusion: /* * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER. * * Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved. * * The contents of this file are subject to the terms of either the GNU * General Public License Version 2 only ("GPL") or the Common Development * and Distribution License("CDDL") (collectively, the "License"). You * may not use this file except in compliance with the License. You can obtain * a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html * or glassfish/bootstrap/legal/LICENSE.txt. See the License for the specific * language governing permissions and limitations under the License. * * When distributing the software, include this License Header Notice in each * file and include the License file at glassfish/bootstrap/legal/ LICENSE.txt. * Sun designates this particular file as subject to the "Classpath" exception * as provided by Sun in the GPL Version 2 section of the License file that * accompanied this code. If applicable, add the following below the License * Header, with the fields enclosed by brackets [] replaced by your own * identifying information: "Portions Copyrighted [year] * [name of copyright owner]" * * Contributor(s): * * If you wish your version of this file to be governed by only the CDDL or * only the GPL Version 2, indicate your decision by adding "[Contributor] * elects to include this software in this distribution under the [CDDL or GPL * Version 2] license." If you don't indicate a single choice of license, a * recipient has the option to distribute your version of this file under * either the CDDL, the GPL Version 2 or to extend the choice of license to * its licensees as provided above. However, if you add GPL Version 2 code * and therefore, elected the GPL Version 2 license, then the option applies * only if the new code is made subject to such option by the copyright * holder. */ What exactly does this mean to me as an application developer? I'm only using the code as an example of the proper way to use JAXB. I will cut, paste and refactor the code for use in my program. Does it mean that the use of JAXB itself constitutes GPL'd activity unless it's done in some other way? In adding this notice, did Sun intend that every file where it appears, or did appear, must contain it? Or is there some other use which it is specifically intended to restrict? My background includes microcomputer app development going back to the 80's. I have become accustomed to having access to freely usable sample code from manufacturers and the like to get things going when developing for a given platform. Has that changed? John Leonard
From: markspace on 19 Sep 2009 12:59 John Leonard wrote: > What exactly does this mean to me as an application developer? It means you can't use this code. > I'm > only using the code as an example of the proper way to use JAXB. I > will cut, paste and refactor the code for use in my program. Sun owns the resulting code if you do that. Also, if you remove the copyright notice, you've violated the law. I'd find at least two other examples of JAXB code, and use a combination of all three patterns, but write the code yourself, copy nothing.
From: John Leonard on 19 Sep 2009 13:46 > Sun owns the resulting code if you do that. Also, if you remove the > copyright notice, you've violated the law. I am sure that the license does not transfer ownership to Sun. John L
From: RedGrittyBrick on 19 Sep 2009 14:08 John Leonard wrote: >> Sun owns the resulting code if you do that. Also, if you remove the >> copyright notice, you've violated the law. > > I am sure that the license does not transfer ownership to Sun. > But the source of any derivative work (your application) must be made freely[1] available under the same licence (GPL). Any user of your application has the legal right to demand the source code from you. If you ignore this, you open yourself, and any employer, to future lawsuits. As I expect you know, this has happened. Of course, I am not a lawyer and not /your/ lawyer. I suggest you take any legal question to a paid lawyer. [1] AIUI for no more than a nominal charge for media. -- RGB
From: Arne Vajhøj on 19 Sep 2009 14:14
markspace wrote: > John Leonard wrote: >> What exactly does this mean to me as an application developer? > > It means you can't use this code. > >> I'm >> only using the code as an example of the proper way to use JAXB. I >> will cut, paste and refactor the code for use in my program. > > Sun owns the resulting code if you do that. Also, if you remove the > copyright notice, you've violated the law. > > I'd find at least two other examples of JAXB code, and use a combination > of all three patterns, but write the code yourself, copy nothing. If the code is modified and the modified code is used in app that is distributed, then the modified source code must be made available. This applies to both GPL and CDDL. The more interesting question is the implications for the rest of the source code if the app is distributed. If GPL is used, then any code "linked" to that code must be under GPL or it is violating the license. If CDDL is used, then it can be used with both open source code and closed source code. Open source includes practically all licenses except GPL (CDDL is not GPL compatible). Whether the code can be used and whether GPL or CDDL should be used depends on the app. It may be fine for some. And SUN does not get any special rights to either modifications of this code or code linked to this code - they of course get the same rights as everybody else according to the previous. The above is a summary of the general understanding of GPL and CDDL among programmers - if this involves serious business, then a lawyer with expertise in licenses should be consulted. Arne |