|
View:
New views
7 Messages
—
Rating Filter:
Alert me
|
|
|
License of CORBA Interface Definition Files published by the Object Management GroupThe 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 src/idl/CORBA_PIDL/CORBA_ORB_init.idl src/idl/CORBA_PIDL/CORBA_ORB.idl src/idl/CORBA_PIDL/CORBA_Interceptor.idl src/idl/CORBA_PIDL/CORBA_ServerRequest.idl src/idl/CORBA_PIDL/CORBA_ValueBase.idl src/idl/CORBA_PIDL/CORBA_Context.idl src/idl/CORBA_PIDL/CORBA_NVList.idl src/idl/CORBA_PIDL/CORBA_Object.idl src/idl/interop/BiDirPolicy.idl src/idl/interop/IOP_DCE.idl src/idl/interop/conv_frame.idl src/idl/interop/IIOP.idl src/idl/interop/orbit-specific.idl src/idl/interop/GSSUP.idl src/idl/interop/IOP.idl src/idl/interop/GIOP.idl src/idl/interop/CSIIOP.idl src/idl/interop/SendingContext.idl src/idl/interop/CSI.idl src/idl/CORBA/CORBA_Pollable.idl src/idl/CORBA/CORBA_Policy.idl src/idl/CORBA/CORBA_TypeCode.idl src/idl/CORBA/CORBA_Stream.idl src/idl/CORBA/CORBA_StandardExceptions.idl src/idl/CORBA/CORBA_DomainManager.idl src/idl/CORBA/CORBA_CustomMarshal.idl src/idl/CORBA/orb.idl src/idl/CORBA/CORBA_InterfaceRepository.idl src/idl/CORBA/CORBA_Current.idl src/idl/misc/PortableServer.idl src/idl/misc/DynamicAny.idl 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. However, these files appear to be part of the Common Object Request Broker Architecture Specification, version 3.1, as published by the Object Management Group. Indeed the first page of this specification reads: OMG Document Number: formal/2008-01-04 Standard document URL: http://www.omg.org/spec/CORBA/3.1/Interfaces/PDF Associated IDL Files*: http://www.omg.org/spec/CORBA/20030101/ http://www.omg.org/spec/CORBA/20030101/CORBA_Context.idl http://www.omg.org/spec/CORBA/20030101/CORBA_Current.idl http://www.omg.org/spec/CORBA/20030101/CORBA_CustomMarshal.idl http://www.omg.org/spec/CORBA/20030101/CORBA_DomainManager.idl http://www.omg.org/spec/CORBA/20030101/CORBA_InterfaceRepository.idl http://www.omg.org/spec/CORBA/20030101/CORBA_NVList.idl http://www.omg.org/spec/CORBA/20030101/CORBA_Object.idl http://www.omg.org/spec/CORBA/20030101/CORBA_ORB.idl http://www.omg.org/spec/CORBA/20030101/CORBA_Policy.idl http://www.omg.org/spec/CORBA/20030101/CORBA_Pollable.idl http://www.omg.org/spec/CORBA/20030101/CORBA_Request.idl http://www.omg.org/spec/CORBA/20030101/CORBA_ServerRequest.idl http://www.omg.org/spec/CORBA/20030101/CORBA_StandardExceptions.idl http://www.omg.org/spec/CORBA/20030101/CORBA_Stream.idl http://www.omg.org/spec/CORBA/20030101/CORBA_TypeCode.idl http://www.omg.org/spec/CORBA/20030101/CORBA_Valuebase.idl http://www.omg.org/spec/CORBA/20030101/BiDirPpolicy.idl http://www.omg.org/spec/CORBA/20030101/CONV_FRAME.idl http://www.omg.org/spec/CORBA/20030101/CSI.idl http://www.omg.org/spec/CORBA/20030101/CSIIOP.idl http://www.omg.org/spec/CORBA/20030101/Dynamic.idl http://www.omg.org/spec/CORBA/20030101/DynamicAny.idl http://www.omg.org/spec/CORBA/20030101/FT.idl http://www.omg.org/spec/CORBA/20030101/GIOP.idl http://www.omg.org/spec/CORBA/20030101/GSSUP.idl http://www.omg.org/spec/CORBA/20030101/IIOP.idl http://www.omg.org/spec/CORBA/20030101/IOP.idl http://www.omg.org/spec/CORBA/20030101/IOP_DCE.idl http://www.omg.org/spec/CORBA/20030101/Messaging.idl http://www.omg.org/spec/CORBA/20030101/MessageRouting.idl http://www.omg.org/spec/CORBA/20030101/orb.idl http://www.omg.org/spec/CORBA/20030101/PortableInterceptor.idl http://www.omg.org/spec/CORBA/20030101/PortableServer.idl http://www.omg.org/spec/CORBA/20030101/pseudo_orb.idl http://www.omg.org/spec/CORBA/20030101/Sending_Context.idl The same document contains section B.3 License which reads, page 509: > The companies listed above have granted to the Object Management > Group, Inc. (OMG) a nonexclusive, royalty-free, paid up, worldwide > license to copy and distribute this document and to modify this > document and distribute copies of the modified version. Each of the > copyright holders listed above has agreed that no person shall be > deemed to have infringed the copyright in the included material of any > such copyright holder by reason of having used the specification set > forth herein or having conformed any computer software to the > specification. > > Subject to all of the terms and conditions below, the owners of the > copyright in this specification hereby grant you a fully-paid up, > non-exclusive, nontransferable, perpetual, worldwide license (without > the right to sublicense), to use this specification to create and > distribute software and special purpose specifications that are based > upon this specification, and to use, copy, and distribute this > specification as provided under the Copyright Act; provided that: (1) > both the copyright notice identified above and this permission notice > appear on any copies of this specification; (2) the use of the > specifications is for informational purposes 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. "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. |
|
|
Re: License of CORBA Interface Definition Files published by the Object Management GroupI 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. 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 @@ in Identifier operation, in NVList arg_list, inout NamedValue result, - out Request req, + out Request request, in Flags 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 sequence<ServiceOption> ServiceOptionSeq; const ServiceType Security = 1; struct ServiceDetail { ServiceDetailType service_detail_type; - ServiceDetailData service_detail; + sequence <octet> service_detail; }; - typedef sequence<ServiceDetail> ServiceDetailSeq; - struct ServiceInformation { - ServiceOptionSeq service_options; - ServiceDetailSeq service_details; + sequence <ServiceOption> service_options; + sequence <ServiceDetail> service_details; }; native ValueFactory; typedef string ORBid; + // frehberg@... 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 frehberg@... + 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 { - sequence<unsigned short> indicies; - }; - - interface PolicyManager { - PolicyList get_policy_overrides(in PolicyTypeSeq ts); - - void set_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 short scale ) 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 boolean get_boolean() raises(TypeMismatch, InvalidValue); octet get_octet() @@ -100,7 +101,7 @@ raises(TypeMismatch, InvalidValue); string get_string() raises(TypeMismatch, InvalidValue); - Object get_reference() + CORBA::Object get_reference() raises(TypeMismatch, InvalidValue); CORBA::TypeCode get_typecode() raises(TypeMismatch, InvalidValue); @@ -118,9 +119,10 @@ raises(TypeMismatch, InvalidValue); DynAny get_dyn_any() raises(TypeMismatch, InvalidValue); +#ifndef _ORBIT2_ ValueBase get_val() raises(TypeMismatch, InvalidValue); - +#endif boolean seek(in long index); void rewind(); boolean next(); Only in 3.1: Dynamic.idl Only in 3.1: FT.idl diff -u 3.1/GIOP.idl orbit2/GIOP.idl --- 3.1/GIOP.idl 2009-08-25 02:39:56.227269612 +0200 +++ orbit2/GIOP.idl 2009-08-25 02:45:23.067537520 +0200 @@ -20,11 +20,6 @@ typeprefix GIOP "omg.org"; #endif // _PRE_3_0_COMPILER_ -#ifndef MAX_GIOP_MINOR_VERSION -#define MAX_GIOP_MINOR_VERSION 4 -#endif - - struct Version { octet major; octet minor; @@ -34,34 +29,21 @@ // be available for V1.0 and V1.1 typedef sequence<octet> Principal; -#if MAX_GIOP_MINOR_VERSION == 0 - - // GIOP 1.0 - enum MsgType_1_0{ // rename from MsgType - Request, Reply, CancelRequest, - LocateRequest, LocateReply, - CloseConnection, MessageError - }; - typedef MsgType_1_0 MsgType; - -#else // GIOP 1.1 - enum MsgType_1_1{ + enum MsgType_1_1 { Request, Reply, CancelRequest, LocateRequest, LocateReply, CloseConnection, MessageError, Fragment // GIOP 1.1 addition }; - typedef MsgType_1_1 MsgType_1_2; - typedef MsgType_1_1 MsgType_1_3; - typedef MsgType_1_1 MsgType; -#endif + typedef GIOP::MsgType_1_1 MsgType_1_2; + typedef GIOP::MsgType_1_1 MsgType_1_3; + // GIOP 1.0 - typedef char Magicn[4]; struct MessageHeader_1_0 {// Renamed from MessageHeader - Magicn magic; + char magic [4]; Version GIOP_version; boolean byte_order; octet message_type; @@ -70,7 +52,7 @@ // GIOP 1.1 struct MessageHeader_1_1 { - Magicn magic; + char magic [4]; Version GIOP_version; octet flags; // GIOP 1.1 change octet message_type; @@ -88,19 +70,18 @@ IOP::ServiceContextList service_context; unsigned long request_id; boolean response_expected; - IOP::ObjectKey object_key; + sequence <octet> object_key; string operation; Principal requesting_principal; }; // GIOP 1.1 - typedef octet RequestReserved[3]; struct RequestHeader_1_1 { IOP::ServiceContextList service_context; unsigned long request_id; boolean response_expected; - RequestReserved reserved; // Added in GIOP 1.1 - IOP::ObjectKey object_key; + octet reserved[3]; // Added in GIOP 1.1 + sequence <octet> object_key; string operation; Principal requesting_principal; }; @@ -115,14 +96,14 @@ IOP::IOR ior; }; union TargetAddress switch (AddressingDisposition) { - case KeyAddr: IOP::ObjectKey object_key; + case KeyAddr: sequence <octet> object_key; case ProfileAddr: IOP::TaggedProfile profile; case ReferenceAddr: IORAddressingInfo ior; }; struct RequestHeader_1_2 { unsigned long request_id; octet response_flags; - RequestReserved reserved; + octet reserved[3]; TargetAddress target; string operation; // Principal not in GIOP 1.2 @@ -132,8 +113,7 @@ // GIOP 1.3 typedef RequestHeader_1_2 RequestHeader_1_3; -#if MAX_GIOP_MINOR_VERSION < 2 - +#ifndef GIOP_1_2 // GIOP 1.0 and 1.1 enum ReplyStatusType_1_0 {// Renamed from ReplyStatusType NO_EXCEPTION, @@ -152,11 +132,7 @@ // GIOP 1.1 typedef ReplyHeader_1_0 ReplyHeader_1_1; // Same Header contents for 1.0 and 1.1 - typedef ReplyStatusType_1_0 ReplyStatusType; -#endif - -#if MAX_GIOP_MINOR_VERSION >= 2 - +#else // GIOP 1.2 enum ReplyStatusType_1_2 { NO_EXCEPTION, @@ -166,7 +142,6 @@ LOCATION_FORWARD_PERM, // new value for 1.2 NEEDS_ADDRESSING_MODE // new value for 1.2 }; - typedef ReplyStatusType_1_2 ReplyStatusType; struct ReplyHeader_1_2 { unsigned long request_id; @@ -176,7 +151,7 @@ // GIOP 1.3 typedef ReplyHeader_1_2 ReplyHeader_1_3; -#endif +#endif // GIOP_1_2 struct SystemExceptionReplyBody { string exception_id; @@ -191,7 +166,7 @@ // GIOP 1.0 struct LocateRequestHeader_1_0 {// Renamed LocationRequestHeader unsigned long request_id; - IOP::ObjectKey object_key; + sequence <octet> object_key; }; // GIOP 1.1 @@ -200,14 +175,14 @@ // GIOP 1.2 struct LocateRequestHeader_1_2 { - unsigned long request_id; - TargetAddress target; + unsigned long request_id; + TargetAddress target; }; // GIOP 1.3 typedef LocateRequestHeader_1_2 LocateRequestHeader_1_3; -#if MAX_GIOP_MINOR_VERSION < 2 +#ifndef GIOP_1_2 // GIOP 1.0 and 1.1 enum LocateStatusType_1_0 {// Renamed from LocateStatusType UNKNOWN_OBJECT, @@ -242,7 +217,7 @@ // GIOP 1.3 typedef LocateReplyHeader_1_2 LocateReplyHeader_1_3; -#endif // MAX_GIOP_VERSION_NUMBER +#endif // GIOP_1_2 // GIOP 1.2 struct FragmentHeader_1_2 { diff -u 3.1/IIOP.idl orbit2/IIOP.idl --- 3.1/IIOP.idl 2009-08-25 02:40:08.223871058 +0200 +++ orbit2/IIOP.idl 2009-08-25 02:45:23.043532973 +0200 @@ -25,15 +25,15 @@ Version iiop_version; string host; unsigned short port; - IOP::ObjectKey object_key; + sequence <octet> object_key; }; struct ProfileBody_1_1 {// also used for 1.2 Version iiop_version; string host; unsigned short port; - IOP::ObjectKey object_key; + sequence <octet> object_key; // Added in 1.1 unchanged for 1.2 - IOP::TaggedComponentSeq components; + sequence <IOP::TaggedComponent> components; }; // BiDirectional IIOP diff -u 3.1/IOP.idl orbit2/IOP.idl --- 3.1/IOP.idl 2009-08-25 02:40:13.752140011 +0200 +++ orbit2/IOP.idl 2009-08-25 02:45:23.059549134 +0200 @@ -25,14 +25,11 @@ const ProfileId TAG_MULTIPLE_COMPONENTS = 1; const ProfileId TAG_SCCP_IOP = 2; - typedef CORBA::OctetSeq ProfileData; - struct TaggedProfile { ProfileId tag; - ProfileData profile_data; + sequence <octet> profile_data; }; - typedef sequence <TaggedProfile> TaggedProfileSeq; // The IOR @@ -40,8 +37,9 @@ // object-specific protocol profiles, plus a type ID. struct IOR { string type_id; - TaggedProfileSeq profiles; + sequence <TaggedProfile> profiles; }; + // IOR Components @@ -51,18 +49,13 @@ typedef unsigned long ComponentId; - typedef CORBA::OctetSeq ComponentData; - struct TaggedComponent { ComponentId tag; - ComponentData component_data; + sequence <octet> component_data; }; - typedef sequence <TaggedComponent> TaggedComponentSeq; typedef sequence <TaggedComponent> MultipleComponentProfile; - typedef CORBA::OctetSeq ObjectKey; - const ComponentId TAG_ORB_TYPE = 0; const ComponentId TAG_CODE_SETS = 1; const ComponentId TAG_POLICIES = 2; Only in 3.1: MessageRouting.idl Only in 3.1: Messaging.idl diff -u 3.1/orb.idl orbit2/orb.idl --- 3.1/orb.idl 2009-08-25 02:40:53.290118400 +0200 +++ orbit2/orb.idl 2009-08-25 02:45:23.127542461 +0200 @@ -3,6 +3,20 @@ #ifndef _ORB_IDL_ #define _ORB_IDL_ +// settings for ORBit2 compliance +#ifndef _PRE_3_0_COMPILER_ +#define _PRE_3_0_COMPILER_ +#endif +#ifndef _NO_LOCAL_ +#define _NO_LOCAL_ +#endif +#ifndef _ORBIT2_ +#define _ORBIT2_ +#endif +// end settings for ORBit2 compliance + + + #ifdef _PRE_3_0_COMPILER_ #pragma prefix "omg.org" #else @@ -46,10 +60,13 @@ local interface Current; // Chapter 4, CORBA_Current.idl interface DomainManager; // Chapter 4, CORBA_DomainManager.idl interface Policy; // Chapter 4, CORBA_Policy.idl +#ifndef _ORBIT2_ local interface PollableSet; // Chapter 7, CORBA_Pollable.idl + abstract valuetype CustomMarshal; // Chapter 5, CORBA_valuetype.idl abstract valuetype DataInputStream; // Chapter 5, CORBA_Stream.idl abstract valuetype DataOutputStream; // Chapter 5, CORBA_Stream.idl +#endif // Forward references to Chapter 10, CORBA_InterfaceRepository.idl interface AbstractInterfaceDef; @@ -96,8 +113,10 @@ #include <CORBA_Policy.idl> #include <CORBA_DomainManager.idl> +#ifndef _ORBIT2_ // Chapter 7: Pollable #include <CORBA_Pollable.idl> +#endif // Chapter 10: The Interface Repository #include <CORBA_InterfaceRepository.idl> @@ -106,8 +125,10 @@ // CORBA_TypeCode.idl depends on CORBA_InterfaceRepository.idl #include <CORBA_TypeCode.idl> +#ifndef _ORBIT2_ // Chapter 5: Value Type Semantics #include <CORBA_CustomMarshal.idl> +#endif #include <CORBA_Stream.idl> }; Only in 3.1: PortableInterceptor.idl diff -u 3.1/PortableServer.idl orbit2/PortableServer.idl --- 3.1/PortableServer.idl 2009-08-25 02:40:42.013548036 +0200 +++ orbit2/PortableServer.idl 2009-08-25 02:45:23.143539067 +0200 @@ -38,7 +38,7 @@ native Servant; typedef CORBA::OctetSeq ObjectId; exception ForwardRequest { - Object forward_reference; + CORBA::Object forward_reference; }; // Policy interfaces @@ -118,7 +118,8 @@ void discard_requests( in boolean wait_for_completion) raises(AdapterInactive); void deactivate( in boolean etherealize_objects, - in boolean wait_for_completion); + in boolean wait_for_completion) + raises(AdapterInactive); State get_state(); string get_id(); }; @@ -239,24 +240,24 @@ raises (ObjectNotActive, WrongPolicy); // reference creation operations - Object create_reference ( in CORBA::RepositoryId intf) + CORBA::Object create_reference ( in CORBA::RepositoryId intf) raises (WrongPolicy); - Object create_reference_with_id ( + CORBA::Object create_reference_with_id ( in ObjectId oid, in CORBA::RepositoryId intf); // Identity mapping operations: ObjectId servant_to_id( in Servant p_servant) raises (ServantNotActive, WrongPolicy); - Object servant_to_reference(in Servant p_servant) + CORBA::Object servant_to_reference(in Servant p_servant) raises (ServantNotActive, WrongPolicy); - Servant reference_to_servant(in Object reference) + Servant reference_to_servant(in CORBA::Object reference) raises(ObjectNotActive, WrongAdapter, WrongPolicy); - ObjectId reference_to_id( in Object reference) + ObjectId reference_to_id( in CORBA::Object reference) raises (WrongAdapter, WrongPolicy); Servant id_to_servant( in ObjectId oid) raises (ObjectNotActive, WrongPolicy); - Object id_to_reference( in ObjectId oid) + CORBA::Object id_to_reference( in ObjectId oid) raises (ObjectNotActive, WrongPolicy); readonly attribute CORBA::OctetSeq id; @@ -268,7 +269,7 @@ exception NoContext { }; POA get_POA() raises (NoContext); ObjectId get_object_id() raises (NoContext); - Object get_reference() raises (NoContext); + CORBA::Object get_reference() raises (NoContext); Servant get_servant() raises (NoContext); }; }; diff -u 3.1/pseudo_orb.idl orbit2/pseudo_orb.idl --- 3.1/pseudo_orb.idl 2009-08-25 02:40:59.514419196 +0200 +++ orbit2/pseudo_orb.idl 2009-08-25 02:45:22.979533699 +0200 @@ -69,18 +69,6 @@ // It contains some data definitions needed by Chapter 4 interfaces. // The other reason not to try to rearrange the order is that it's hard. -// The "define" fakes out the compiler to let it compile the "Context" -// interface and references to it even though "context" is a keyword -#define Context CContext - -// The "define" fakes out the compiler to let it compile the "Object" -// interface and references to it even though "Object" is a keyword -#define Object OObject - -// The "define" fakes out the compiler to let it compile the "ValueBase" -// valuetype and references to it even though "ValueBase" is a keyword -#define ValueBase VValueBase - // Forward references, alphabetically interface Context; // Chapter 7, CORBA_Context.idl interface NVList; // Chapter 7, CORBA_NVList.idl @@ -88,16 +76,19 @@ interface ORB; // Chapter 4, CORBA_ORB.idl interface Request; // Chapter 7, CORBA_Request.idl interface ServerRequest; // Chapter 8, CORBA_ServerRequest.idl +#ifndef _ORBIT2_ valuetype ValueBase; // Chapter 4, CORBA_ValueBase.idl - +#endif typedef unsigned long Flags; // Chapter 4: ORB Interface #include <CORBA_Object.idl> #include <CORBA_ORB.idl> +#ifndef _ORBIT2_ // Chapter 5: Value Type Semantics #include <CORBA_ValueBase.idl> +#endif // Chapter 7: Dynamic Invocation Interface #include <CORBA_Request.idl> |
|
|
Re: License of CORBA Interface Definition Files published by the Object Management GroupLe 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. Cheers, -- .''`. Josselin Mouette : :' : `. `' “I recommend you to learn English in hope that you in `- future understand things” -- Jörg Schilling |
|
|
Re: License of CORBA Interface Definition Files published by the Object Management GroupJosselin Mouette <joss@...> 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-REQUEST@... with a subject of "unsubscribe". Trouble? Contact listmaster@... |
|
|
Re: License of CORBA Interface Definition Files published by the Object Management Group-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1 Ludovic Brenta a écrit : > Josselin Mouette <joss@...> 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? > Hi, I'm sorry I can't help on such problems. It is very far from my understanding. 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 ? My two cents... xavier PS:any comment on my last changes (minors) ? -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAkqffMMACgkQVIZi0A5BZF7+zQCgxCwGH2fKlCZGdeFyXhYF4tF5 ATsAn3j9aF86b9IS1Rd/80URBut0pNdx =et0p -----END PGP SIGNATURE----- -- To UNSUBSCRIBE, email to debian-legal-REQUEST@... with a subject of "unsubscribe". Trouble? Contact listmaster@... |
|
|
Re: License of CORBA Interface Definition Files published by the Object Management GroupSelon xavier grave <xavier.grave@...>:
> 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-users@...). In the mean time, let's focus on the legal aspects on this list. -- Ludovic Brenta. -- To UNSUBSCRIBE, email to debian-legal-REQUEST@... with a subject of "unsubscribe". Trouble? Contact listmaster@... |
|
|
Re: License of CORBA Interface Definition Files published by the Object Management Group-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1 Ludovic Brenta a écrit : > Selon xavier grave <xavier.grave@...>: >> 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-users@...). In the mean time, let's focus on the legal > aspects on this list. > Thanks for the reminder. I have probably miss Thomas's email during my holiday time. xavier -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAkqg4pIACgkQVIZi0A5BZF7a7wCcCl0dyBc290V5+aaS76//4QKM d1MAnRU4abPSyukO3Q4PrsvmKE2IwE8T =VcpC -----END PGP SIGNATURE----- -- To UNSUBSCRIBE, email to debian-legal-REQUEST@... with a subject of "unsubscribe". Trouble? Contact listmaster@... |
| Free embeddable forum powered by Nabble | Forum Help |