Re: License of CORBA Interface Definition Files published by the Object Management Group
Selon xavier grave xavier.gr...@ipno.in2p3.fr: Can't we just use the testsuite apart from package building to be sure that our packaging is OK and then distribute a version without the .idl files ? Testing should be our duty and not for the buildd machines ? We will do that for sure but there are other .idl files required to build, not just test, the CORBA personality (see Thomas Quinot's email on polyorb-us...@lists.adacore.com). In the mean time, let's focus on the legal aspects on this list. -- Ludovic Brenta. -- To UNSUBSCRIBE, email to debian-legal-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Re: License of CORBA Interface Definition Files published by the Object Management Group
Josselin Mouette j...@debian.org writes: Le mardi 25 août 2009 à 02:52 +0200, Ludovic Brenta a écrit : The source package orbit2_2.14.17.orig.tar.gz shipped by Debian contains the following files that concern me: src/idl/CORBA_PIDL/CORBA_Request.idl src/idl/CORBA_PIDL/pseudo_orb.idl [snip] The debian/copyright file in the package does not explicitly state a license for those files but implies that the license is the GPL. The package is in main. My opinion is that the headers themselves are not subject to copyright. They are just the formal description of a specification, there is nothing creative in them. However the comments are, so maybe we have to strip the comments from those files. Thanks. Since: - the spec specifically refers to the .idl files - the .idl files are derived works from the spec, I still think that the .idl files are copyrighted and subject to the same license as the spec. However, your interpretation is probably closer to the intended purpose of these files. The OMG failed to make their intentions clear. I don't think they understood copyright law themselves since they speak of using the specification and conforming software to the specification, neither of which are even concepts in copyright law, which concerns itself only with distribution, modification and derived works. So, the OMG's failure to clarify the license for the .idl files is not surprising. It seems to me that if the authors of a CORBA implementation choose to distribute .idl files (even though this is not a requirement of a conforming implementation), they can do so only if they are the authors of the .idl files; and if they are the authors of the .idl files then they can choose whatever license they want under the permission to use the specification which I understand as permission to derive works from the copyrighted specification. This may or may not be the case for the authors of orbit2 but the authors of PolyORB have already stated that they redistribute the OMG's .idl files (and they even pointed me to the OMG license). I think such redistribution is illegal. Any other opinion? -- Ludovic Brenta. -- To UNSUBSCRIBE, email to debian-legal-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
License of CORBA Interface Definition Files published by the Object Management Group
and will not be copied or posted on any network computer or broadcast in any media and will not be otherwise resold or transferred for commercial purposes; and (3) no modifications are made to this specification. This limited permission automatically terminates without notice if you breach any of these terms or conditions. Upon termination, you will destroy immediately any copies of the specifications in your possession or control. Clearly the license is non-free. Does this license apply to the Associated IDL Files? I think the answer is yes, which makes the files non-free. The reason is because the CORBA IDL FAQ[1] explains how the files were derived directly from the specification document, to the extent of splitting some specifications in several files, one per chapter in the text. [1] http://www.omg.org/spec/CORBA/3.1/20030101/CORBA_IDL_FAQ.html The reason I am asking, besides the package orbit2, is because I have another CORBA broker named PolyORB in the new queue; it also contains some of these .idl files and I am not entirely sure this is legal. I'm attaching the unified diff from the CORBA 3.1 associated files to the files contained orbit2. This diff is very small, suggesting that either the files in orbit2 are modified copies of the CORBA 3.1 associated files, or that the orbit2 files were derived (i.e. are a derived work of) the CORBA 3.1 specification. Please advise? (I Cc'd the actual package maintainers of PolyORB whom I sponsor.) -- Ludovic Brenta. pgpf2V9CjDm55.pgp Description: PGP signature
Re: License of CORBA Interface Definition Files published by the Object Management Group
I wrote: I'm attaching the unified diff from the CORBA 3.1 associated files to the files contained orbit2. This diff is very small, suggesting that either the files in orbit2 are modified copies of the CORBA 3.1 associated files, or that the orbit2 files were derived (i.e. are a derived work of) the CORBA 3.1 specification. and of course I forgot the actual attachment. Here it is. pgplq5qMlaRA3.pgp Description: PGP signature Only in 3.1: CONV_FRAME.idl diff -u 3.1/CORBA_Object.idl orbit2/CORBA_Object.idl --- 3.1/CORBA_Object.idl 2009-08-25 02:38:32.115092388 +0200 +++ orbit2/CORBA_Object.idl 2009-08-25 02:45:23.023535051 +0200 @@ -9,7 +9,7 @@ Flags arg_modes; // argument mode flags }; -interface ORB; // PIDL Forward Declaration +enum SetOverrideType {SET_OVERRIDE, ADD_OVERRIDE}; interface Object { // PIDL @@ -40,7 +40,7 @@ inIdentifieroperation, inNVListarg_list, inout NamedValueresult, -out Request req, +out Request request, inFlags req_flag ); @@ -67,9 +67,5 @@ out PolicyList inconsistent_policies ); -string repository_id(); - Object get_component (); - -ORB get_ORB (); }; diff -u 3.1/CORBA_ORB.idl orbit2/CORBA_ORB.idl --- 3.1/CORBA_ORB.idl 2009-08-25 02:38:21.130547171 +0200 +++ orbit2/CORBA_ORB.idl 2009-08-25 02:45:22.987547227 +0200 @@ -8,27 +8,24 @@ typedef unsigned short ServiceType; typedef unsigned long ServiceOption; typedef unsigned long ServiceDetailType; -typedef CORBA::OctetSeq ServiceDetailData; -typedef sequenceServiceOption ServiceOptionSeq; const ServiceType Security = 1; struct ServiceDetail { ServiceDetailType service_detail_type; -ServiceDetailData service_detail; +sequence octet service_detail; }; -typedef sequenceServiceDetail ServiceDetailSeq; - struct ServiceInformation { -ServiceOptionSeq service_options; -ServiceDetailSeq service_details; +sequence ServiceOption service_options; +sequence ServiceDetail service_details; }; native ValueFactory; typedef string ORBid; +// frehb...@gnome-de.org exception WrongTransaction {}; interface ORB { // PIDL diff -u 3.1/CORBA_Policy.idl orbit2/CORBA_Policy.idl --- 3.1/CORBA_Policy.idl 2009-08-25 02:38:38.655419525 +0200 +++ orbit2/CORBA_Policy.idl 2009-08-25 02:45:23.095561262 +0200 @@ -12,6 +12,8 @@ typedef sequence Policy PolicyList; typedef sequence PolicyType PolicyTypeSeq; +// InvalidPolicies added by frehb...@gnome-de.org +exception InvalidPolicies { sequence unsigned short indices; }; typedef short PolicyErrorCode; exception PolicyError {PolicyErrorCode reason;}; @@ -22,19 +24,3 @@ const PolicyErrorCode BAD_POLICY_VALUE = 3; const PolicyErrorCode UNSUPPORTED_POLICY_VALUE = 4; -enum SetOverrideType {SET_OVERRIDE, ADD_OVERRIDE}; - -exception InvalidPolicies { - sequenceunsigned shortindicies; -}; - -interface PolicyManager { - PolicyList get_policy_overrides(in PolicyTypeSeq ts); - - voidset_policy_overrides(in PolicyList policies, - in SetOverrideType set_add) - raises(InvalidPolicies); -}; - -local interface PolicyCurrent : PolicyManager, Current { }; - diff -u 3.1/CORBA_Stream.idl orbit2/CORBA_Stream.idl --- 3.1/CORBA_Stream.idl 2009-08-25 02:39:09.736955873 +0200 +++ orbit2/CORBA_Stream.idl 2009-08-25 02:45:23.103549927 +0200 @@ -22,6 +22,7 @@ unsigned long offset; }; +#ifndef _ORBIT2_ abstract valuetype DataOutputStream { void write_any (in any value); void write_boolean (in boolean value); @@ -186,3 +187,4 @@ in shortscale ) raises (BadFixedValue); }; +#endif diff -u 3.1/DynamicAny.idl orbit2/DynamicAny.idl --- 3.1/DynamicAny.idl 2009-08-25 02:39:45.006711253 +0200 +++ orbit2/DynamicAny.idl 2009-08-25 02:45:23.151537789 +0200 @@ -56,7 +56,7 @@ raises(TypeMismatch, InvalidValue); void insert_string( in string value) raises(TypeMismatch, InvalidValue); -void insert_reference(in Object value) +void insert_reference(in CORBA::Object value) raises(TypeMismatch, InvalidValue); void insert_typecode(in CORBA::TypeCode value) @@ -77,9 +77,10 @@ raises(TypeMismatch, InvalidValue); void insert_dyn_any(in DynAny value) raises(TypeMismatch, InvalidValue); +#ifndef _ORBIT2_ void insert_val(in ValueBase value) raises(TypeMismatch, InvalidValue); - +#endif