Solved

License options for a Custom Transformer on FME Hub

  • 11 July 2020
  • 5 replies
  • 11 views

Badge +1

I'm looking at starting to publish some of the custom transformers I've been putting together and it occurs to me that while I want to publish them on the FME Hub under an open source license (like MIT, requiring only attribution and nothing else to use), that perhaps I'm not able to as FME itself is proprietary. So I was wondering if I can get some guidance on what I can open source and what I cannot?

For example, if I create my own Python code, that is mine, but if I'm importing fmeobjects, then technically I'm bound by the license for that as my code depends on it.

Similarly, if my transformer just uses the .fmx format, then it heavily depends on the FME internal factories and functions. This would be especially true if my transformer was based on an existing transformer first.

As I'm looking at open source, I'm not looking to get any money out of this. It's just nice to get recognition in the long run. Particularly if Safe one day likes my idea and wants to incorporate it in the base package.

Legally speaking, what can I actually choose?

icon

Best answer by mark2atsafe 17 July 2020, 18:59

View original

5 replies

Userlevel 5
Badge +26

This may be a good resource to look into: FME® Hub Contributor Terms of Use

Userlevel 4
Badge +26

Hi @jstanger

Yes, you can add a transformer to the FME Hub licensed using a non-copyleft open source license such as MIT, BSD, Apache, or CC-BY. However, you should not use a GPL or copyleft license (I don't know why, but that's what I've been told).

I hope that helps. You can add your license terms to the transformer description or any readme content that you include.

I don't believe it matters that FME is proprietary. Simply putting "import fmeobjects" into Python code doesn't include any FME components, it just forces the end-user to have an FME license. Similarly, an fmx file is just a bunch of FME-related commands that won't do anything without a licensed FME.

Badge +1

This may be a good resource to look into: FME® Hub Contributor Terms of Use

This is indeed a good place to start but I did want to get a broader view on code posted there. I have emailed SAFE direct and had a response which I'll post here.

Badge +1

Hi @jstanger

Yes, you can add a transformer to the FME Hub licensed using a non-copyleft open source license such as MIT, BSD, Apache, or CC-BY. However, you should not use a GPL or copyleft license (I don't know why, but that's what I've been told).

I hope that helps. You can add your license terms to the transformer description or any readme content that you include.

I don't believe it matters that FME is proprietary. Simply putting "import fmeobjects" into Python code doesn't include any FME components, it just forces the end-user to have an FME license. Similarly, an fmx file is just a bunch of FME-related commands that won't do anything without a licensed FME.

Thanks @mark2atsafe, I have emailed support at SAFE and had a response which roughly matches what you have posted here. I'll put additional detail from their response in a separate answer. But it sounds like generally SAFE does things in a way that makes sense which is why they are a great company to work alongside.

Badge +1

Disclaimer: I do not work for SAFE and I am not a lawyer therefore this answer should not be treated as official policy or legal advice.

However, what I have been told by SAFE is that effectively the FME Hub Contributor Terms of Use provides SAFE with their own license to utilize the code you post effectively so that they can legally run the FME Hub without paying you to host and distribute your code to users. This also allows them to independently develop equivalent workspaces/transformers that replicate your content.

But this doesn't prevent you from associating a license with the uploaded item, as long as it doesn't restrict commercial use. I expect because that effectively violates the purpose of the FME Hub and somewhat invalidates posting things there. The license you associate has no impact on SAFE and their use of your code as the terms supersede the license you post your work with.

I'm told that in practise SAFE is very unlikely to ever use community contributed code and rather will develop their own independant version replicating functionality in-house. If they choose to do this their normal policy is to reach out to the contributor directly before publishing their in-house replacement. In terms of personal recognition for contributions, they see the profile page on FME Hub as the key way to record contributions for posterity.

TL/DR: You can use highly permissive open source licenses (i.e. no commercial licenses or copy-left) for stuff posted to FME Hub. SAFE is a nice company and while not legally obliged to, will generally treat community developers with respect.

Reply