Book a Demo

Author Topic: Licensing UML model.  (Read 3988 times)

gob

  • EA Novice
  • *
  • Posts: 16
  • Karma: +0/-0
    • View Profile
Licensing UML model.
« on: October 16, 2020, 11:57:50 pm »
I have developed an UML model/platform for embedded systems with generated C++ code.
I wish to sell this as a “consultingware” with adaption that I develop for customers as a consultant.
Is there anybody that have experience with this business model?
I feel uncertain about how to license.
Perhaps there is a better word than consultingware. :)

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: Licensing UML model.
« Reply #1 on: October 17, 2020, 12:24:18 am »
I would definitely make it open source.

At the end of the day, your customer want to use that model as part of their software development.

If you are but a single consultant, they won't be too happy to lock themselves to you.
The chance that you, someday, stop supporting this is too great.

Having this as open source is a reassurance for your clients. Even if you run under a bus tomorrow, they still have access to the source and are allowed to continue to develop this.

Who knows, it might even be the start of a community, where others help develop your model for the benefit of all.

With regards to monetization, they will always need you as a consultant to help them use this model/platform; that's where the money is. ;D

Geert

gob

  • EA Novice
  • *
  • Posts: 16
  • Karma: +0/-0
    • View Profile
Re: Licensing UML model.
« Reply #2 on: October 21, 2020, 11:48:11 pm »
Helo Geert
Nice thoughts.
Maybe that’s the best way.
I must think about it some more.
How do I ad a license text my model and the generated code?
There are some third-party products to EA how do you handle those relationships?
BR Göran

Geert Bellekens

  • EA Guru
  • *****
  • Posts: 13523
  • Karma: +574/-33
  • Make EA work for YOU!
    • View Profile
    • Enterprise Architect Consultant and Value Added Reseller
Re: Licensing UML model.
« Reply #3 on: October 21, 2020, 11:58:01 pm »
Most often the license is simply a text file that accompanies the source code (or model in this case).
If you publish it on a public site such a github you add the license file to the repository, and you can also indicate at the repository level which license is used.

The third-party products don't come into play. You can only license what you created; whether it be a model or source code, or...

Geert

Uffe

  • EA Practitioner
  • ***
  • Posts: 1859
  • Karma: +133/-14
  • Flutes: 1; Clarinets: 1; Saxes: 5 and counting
    • View Profile
Re: Licensing UML model.
« Reply #4 on: October 22, 2020, 05:32:27 pm »
Hej Göran!

Or possibly George Oscar II? :)


With licensing, there are two key issues to be considered.
  • Is the licensing model legally valid?
  • Can the license agreement be enforced in practice?

The first question is one for the lawyers. If I understand you correctly, you wish to protect not only the IP you have realized as a UML model/platform, but also the source code produced by EA out of that platform. That's something you need to get a lawyer to look over to see a) if it's valid in and of itself, and also b) whether it's permitted under the EA EULA.

Then there is the question of enforcement.

EA provides a little bit of help to third parties when it comes to management of license keys for Add-Ins. However, the concept of licensing a model simply doesn't exist in EA. It's not in the infrastructure; there is no way to lock a model down so users can't make copies of it, etc.

So while it's perfectly possible to sell an EA model to clients, and while it is perfectly possible to write a license agreement that requires them to purchase one copy of the model for each person that will need it, there is no way to enforce that agreement in practice.
This doesn't mean there's no point in trying. Your clients may reason that it's less risky to just pay whatever the vendor is charging for however many seats the license agreement requires, rather than buy just one and then make unlicensed copies, even if there is no reasonable chance the vendor will never find out.
Or you might base your pricing on the size of the client's organization and then simply allow the client to make as many copies as they want for internal use.

Another approach is to make some crucial part of your product into an Add-In. This means there has to be some key functionality which the user can't access through EA's regular GUI but must go through your Add-In to do (and your Add-In would then also need its own licensing solution) -- but of course if the basic concept is to generate source code out of a model, that idea doesn't work.

As to the source code produced by EA from your model, if you want to make sure that the source code contains a specific header or something, you'd need to make changes to the code generation templates for C++ and then distribute those code generation templates along with your model.
Problem with that is that the client could just undo those changes and go back to the base C++ templates.

In addition, in any situation where your product produces source code, and you want to place restrictions on the use of that source code, there is simply no way to enforce those restrictions.
Source code is text. It can be copied-and-pasted, restructured, obfuscated; even if you were to perform on-site audits of your clients (something very few clients would agree to) it would be very difficult to prove what exactly came out of your platform.

So to make money off a model that produces source code, I think you'd rather need to keep your model to yourself and sell the service of producing the source code instead. So you'd get a specification from the client, build a model based on that specification, generate the code and return that. Maybe with some supporting materials such as a UML design model, why not, but not the model used to generate the code -- that's your clever bit and you'd keep that to yourself. The source code produced would belong to the client.

In summary, I think there are three practical ways to monetize IP you have expressed as an EA model:
  • Publish it as open source and sell consultancy services (Geert's model);
  • Sell the service that the model facilitates, but not the model itself;
  • Sell the model, allowing clients to make their own copies, and allowing clients to retain the rights to all IP that the model produces, and set your price accordingly.
But selling a model and restricting what comes out of it I can't see working.

HTH,


/Uffe
My theories are always correct, just apply them to the right reality.

gob

  • EA Novice
  • *
  • Posts: 16
  • Karma: +0/-0
    • View Profile
Re: Licensing UML model.
« Reply #5 on: October 30, 2020, 07:22:46 pm »
Hello Uffe
Thank you for your reply.
I think my first step will be to make prototypes for my customers and deliver binaries and user documentation.
Then if the customer wants the source model and code I will license and sell it to them.
Hopefully, they have no interest in spreading it further.
I found some companies that sell templates for software licensing I will use one of those.
BR Göran