Do ArcGIS Runtime .NET license levels restrict something, or just not providing the capability?

367
7
Jump to solution
12-06-2018 03:12 AM
MarkoMladineo1
New Contributor

I have a doubt regarding license restrictions for ArcGIS Runtime .NET 100.x:

Lite/Basic licenses levels do not have support for local layers (KML, Shapefiles, etc.) according to https://developers.arcgis.com/arcgis-runtime/licensing/

But, what does it mean: they don't have that capability, or you're not allowed to use local layers at this license level?

1) If I put layers on localhost, or some local web server, am I allowed to use them in my App with Lite or Basic license?

2) Or, if I write my own KML parser, am I allowed to use it for local files with Lite or Basic license?

I'm not sure if my question is clear. This is what I mean: 10 years ago, Google Maps tiles were accessible to any app (today, they aren't), so you could use them in your own app, but actually you were not allowed to do so (you needed to use their API). That is my doubt here, does license level restricts something, or it just doesn't provide that capability?

And, if you provide that capability by yourself, you're not going to jail . Is that true?

Thanks!

Reply
0 Kudos
1 Solution

Accepted Solutions
MichaelBranscomb
Esri Frequent Contributor

Hi,

Lite is required for viewing KML data accessed as a web resource (for example, via an http or https link). In your scenario, since the KML file is being accessed via a web resource (regardless of whether it is a local or remote web server) use of KML is supported at the Runtime Lite license level.

Whilst it does allow for usage at the Lite level, it will involve many technical considerations. For example, if your app allows users to open/save/share webmaps, layers, etc you would need to manage the KML content as being a web resource but only accessible to the user on that one machine.

Cheers

Mike

View solution in original post

Reply
0 Kudos
7 Replies
MortenNielsen
Esri Frequent Contributor

While running in developer mode (ie unlicensed) your app will be watermarked, but all functionality will work. Once you license your app, any feature outside the license capability will throw an exception and (unless you catch the exception) crash your app. I'd encourage you to license your app early on, so you know early on when you venture into unlicensed territory.

Regarding 1 and 2, I'm no legal expert on our license strategy, but while it definitely is possible to circumvent things, some of it would likely be in breach of the license agreement. The at-runtime license-checks is only to make it easier for you to stay within the agreement. In the end, the paper-license is what really matters (similar to how Google Maps tiles worked)

MarkoMladineo1
New Contributor

Morten, thank you for your reply.

Just for your information, I'm not developing in developer mode, I'm using free Lite license. And, local layers are not supported by that license, but I can access local layers on localhost. Since the Standard license (approx. hundred bucks per app) is needed for local layers (they are not available on Basic license, either), I see the localhost as some kind of support for local layers without purchasing Standard license.

But, the question remains: is this a workaround, or hacking?

I will post my question in some other community, in order to get an answer. Thanks!

Reply
0 Kudos
MichaelBranscomb
Esri Frequent Contributor

Hi Marko,

I'm working with the ArcGIS Runtime product managers to clarify the licensing information for KML regarding online and local layers. I'll share an update when I have more information.

Cheers

Mike 

Reply
0 Kudos
MarkoMladineo1
New Contributor

Mike,

have you managed to get any information from ArcGIS Runtime product managers, regarding this licensing issue?

Thanks,

Marko

Reply
0 Kudos
MichaelBranscomb
Esri Frequent Contributor

Hi,

Yes, just this morning...

1) If I put layers on localhost, or some local web server, am I allowed to use them in my App with Lite or Basic license?

- Lite license level is designed/intended to support sharing workflows where content is hosted remotely and accessed by your application, for example as a layer within a webmap. Lite is required for viewing KML data accessed as a web resource (for example, via an http or https link).

- Standard license level is designed/intended to support local data workflows where content is deployed on the device and the file(s) accessed directly from the file system. Standard level is required for viewing KML data accessed as a file resource.

2) Or, if I write my own KML parser, am I allowed to use it for local files with Lite or Basic license?

This will depend on which other features of the API you use and the licensing requirements of those features. If you write your own KML parser then you will most likely use FeatureCollections or Graphics and various symbols/renderers. Additional licensing by API type can be found in the API Ref doc: Licensing details by API Type.

Cheers

Mike

MarkoMladineo1
New Contributor

Thanks for the update, but I'm still confused regarding the 1st question.

If I put a layer on the localhost, it will be accessed by calling http://localhost/mylayer.kml, and Lite license will allow reading of this KML (it's working, I've tried it), but is that violation of the license?

The layer is accessed via http protocol, but  the content is not "hosted remotely", thus violating the license? Or perhaps not, since "designed/intended" are not so strong words (from legal perspective).

Marko

Reply
0 Kudos
MichaelBranscomb
Esri Frequent Contributor

Hi,

Lite is required for viewing KML data accessed as a web resource (for example, via an http or https link). In your scenario, since the KML file is being accessed via a web resource (regardless of whether it is a local or remote web server) use of KML is supported at the Runtime Lite license level.

Whilst it does allow for usage at the Lite level, it will involve many technical considerations. For example, if your app allows users to open/save/share webmaps, layers, etc you would need to manage the KML content as being a web resource but only accessible to the user on that one machine.

Cheers

Mike

View solution in original post

Reply
0 Kudos