Open source with closed elements ?

Posted by jmls on 06-Mar-2012 11:29

I have a problem with licencing. And not a Progress licence issue this time

I want to create an open source project. Part of this project requires a third party .net dll (to try and write this dll in Progress would take man months).

However, in order to use this dll at runtime, it implements a secret key policy (assign foo:KeyProperty = "someSecretKey") where someSecretKey is a unique key to each developer who has purchased the library.

I obviously can't include this in the source.

So, how can I implement this ?

I could supply a .r which takes the object reference and updates the key - but then there would be no source for this .r, and I would have to provide seperate .r files for each progress version. Yuk.

Has anyone else had this sort of problem ?

I am trying to speak to the vendor to see if there is a workaround.

All Replies

Posted by Admin on 06-Mar-2012 14:51

However, in order to use this dll at runtime, it implements a secret key policy (assign foo:KeyProperty = "someSecretKey") where someSecretKey is a unique key to each developer who has purchased the library.

 

I wonder if the license of that library makes it possible to provide the library as part of a tool for other developers without requiring that the other developers need to license the library at all. Talking to the vendor sounds like the way to go.

I could supply a .r which takes the object reference and updates the key - but then there would be no source for this .r, and I would have to provide seperate .r files for each progress version. Yuk.

 

How about putting this into a .NET assembly by yourself? That would solve the AVM version dependency (your assembly should be .NET 3.0).

Posted by jmls on 06-Mar-2012 15:20

How about putting this into a .NET assembly by yourself? That would solve the AVM version dependency (your assembly should be .NET 3.0).

now, that may be a good idea. Can I expose all methods and properties transparently , or will I have to map 1:1 ?

Posted by Admin on 06-Mar-2012 15:46

That depends a lot on that library.

But my main thought was to put the licensing bit in a DLL to avoid the R-Code dependencies you are describing.

Posted by jmls on 06-Mar-2012 15:55

riiiiiiight. the .net assembly of mine takes the handle of the 3rd party .dll object and sets the licence. Gotcha.

Urgh. Wonder if that breaks the licensing rules ? Have to check with the supplier. Thanks for the pointer, though.

Posted by Thomas Mercer-Hursh on 06-Mar-2012 17:03

The really key question here is the supplier.  If their intent is that everyone using the assembly has to buy a license, then all you can really do is to write code that uses it and tell people where to buy it.  Other than that, you would need some kind of bulk licensing agreement, but with open source, you probably don't want to be paying for other people's use.  The techical question of how to make it easy needs to come after you figure out what conditions you need to fulfill for the licensing.

Posted by jmls on 06-Mar-2012 17:11

their standard licencing terms are that their product can only be

distributed with a compiled system .

I am in negotiations with them regarding Mike's suggestion and they

are looking at an open-source version as well.

They have been very very helpful and responsive in the past, so much

so that we have taken out a yearly subscription for all of their

software.

cross fingers

On 6 March 2012 23:03, Thomas Mercer-Hursh

This thread is closed