Re: License of CORBA Interface Definition Files published by the Object Management Group

2009-09-03 Thread Ludovic Brenta
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

2009-09-02 Thread Ludovic Brenta
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

2009-08-24 Thread Ludovic Brenta
 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

2009-08-24 Thread Ludovic Brenta
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