- Home /
Including a third party open source library in an Asset Store asset
I want to submit an asset to the Asset Store which includes an open source library to parse YAML. It is released under the terms of The Code Project Open License (CPOL), as stated here.
This license permits commercial and derivative works.
My question is how to best handle including a third party open source library. Can I add a header to the library files like the following:
// -----------------------------------------------------------------------------
// FileName.cs
// Author: Liu Junfeng
// Source: http://www.codeproject.com/Articles/28720/YAML-Parser-in-C
// License: The Code Project Open License (CPOL)
// -----------------------------------------------------------------------------
...or do you think this would be rejected, or what are the guidelines that I should follow?
I didn't want to post this in my submitted answer since it's a bit of a tangent, but is there anything in your code directly requiring YA$$anonymous$$L as a format? Having done a bit of YA$$anonymous$$L in the past with Ruby, I've found YA$$anonymous$$L to be a very poor format (it loses user editability after about 3-4 layers of nesting, for example), and in particular this library seems to only be able to walk the YA$$anonymous$$L document - not deserialize it into meaningful objects - it leaves that work to you. I'd recommend the JSON.net library (formally Newtonsoft.JSON). It can do document walking as well as direct serialization/deserialization. It is also licensed under $$anonymous$$IT, which you can just toss in right next to the JSON.net code or DLL - no need for the user to accept the license directly.
YA$$anonymous$$L is just one of the supported formats (JSON and X$$anonymous$$L are the other two), and follows a known format for the type of data I'm using (which doesn't use too much nesting, anyway). And since it is pretty simple data, serializing is easy with a StringBuilder
and a loop. :)
Answer by LoganBarnett · Aug 03, 2013 at 03:17 PM
In the CPOL: "...You must include a copy of, or the Uniform Resource Identifier for, this License with every copy of the Executable Files or Source Code You distribute and ensure that anyone receiving such Executable Files and Source Code agrees that the terms of this License apply to such Executable Files and/or Source Code."
To sum up, you need to somehow make the user accepts the license as part of using your tech. This appears to be in direct contrast with the licensing section of the Asset Store's Submission Guidelines:
"Please do not include your own license terms in your offering."
I recommend hitting up the Asset Store's Twitter account, which I've found to be incredibly responsive in the past - many script related projects need to rely on OSS libraries, so I imagine they'd have some ways to work with you.
I realize this perhaps is not an actual answer, but a means to get one. Perhaps you could post your findings back here?
Oh damn. maybe I'll have to forget YA$$anonymous$$L if they don't accept the inclusion of the license terms.
I'll accept your answer because the "Please do not include your own license terms in your offering." part pretty much answers the question. I'll talk with the Unity $$anonymous$$m to see what we can do about this, and post back what I discover.