Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

License confirmation #27

Open
emorrp1 opened this issue Apr 10, 2018 · 15 comments
Open

License confirmation #27

emorrp1 opened this issue Apr 10, 2018 · 15 comments

Comments

@emorrp1
Copy link

emorrp1 commented Apr 10, 2018

I got curious about the project origins and am basically checking if there's any more information available about the history of the License.txt file (modified 2018-04-01) in AprilFirst.zip sha256sum as uploaded by Klasodeth, since DarkXL was GPL2. Many reimplementations eventually end up in Debian's repository, who are very thorough about overall licenses, best done before significant external contributions are accepted - obviously @luciusDXL is entitled to relicense their original work from GPL2 to MIT, I'm just checking that's the authors' intention.

$ licensecheck -r . | grep -vF '*No copyright*' | grep -vF '.png: '
./LICENSE: MIT/X11 (BSD like)
./fonts/Verdana16.fnt: UNKNOWN        # ?msttcorefonts?
./fonts/Verdana24.fnt: UNKNOWN
./fonts/Verdana32.fnt: UNKNOWN
./scriptsystem/angelscript.h: zlib/libpng
./win/XL Engine.ico: UNKNOWN
./win/small.ico: UNKNOWN
./render/win/wglext.h: UNKNOWN        # MIT
./threading/Posix/Mutex.h: UNKNOWN        # Unlicensed: https://www.codeproject.com/Articles/5417/A-C-Cross-Platform-Thread-Class
./threading/Posix/Semaphore.h: UNKNOWN
./threading/Posix/Thread.h: UNKNOWN
./threading/Win32/Mutex.h: UNKNOWN
./threading/Win32/Semaphore.h: UNKNOWN
./threading/Win32/Thread.h: UNKNOWN
./threading/Win32/Win32.h: UNKNOWN
@afritz1
Copy link
Contributor

afritz1 commented Apr 11, 2018

There is more information on the Daggerfall Unity forums in Klasodeth's comment here. From what I understand, this version and Lucius' version on his GitHub are two separately licensed works, and MIT was the intended license for this version. Other contributors might have more to add here.

@psi29a
Copy link
Member

psi29a commented Apr 11, 2018

Since LuciusDXL is the 'author' of the XLEngine and Game plugins, hey can re-license his copy of the code to anything he wants, provided he respects the license of zlib (angelscript that he was using for example).

The fonts will be more interesting to source. If they are MS-related for example, best we replace them with an FOSS font alternative.

@emorrp1
Copy link
Author

emorrp1 commented Apr 11, 2018 via email

@psi29a
Copy link
Member

psi29a commented Apr 11, 2018

From a conversation I had with Klasodeth:

(09:36:49) KLA: I don't have access to the repo for the source code. What I released was backed up from Lucius' HDD.
(09:38:15) KLA: I see no issues with posting the release on GitHub, but I'm definitely not the person to make that happen in any sort of competent way.
(09:39:15) KLA: And it was released under the MIT license.
(09:41:17) KLA: I'll trust you to figure out the gory details of whether or not there are any compatibility issues with licensing.

This was in reaction to my question about getting access to the SVN repo. He didn't have that information, he just released what was given to him by Lucius himself.

To be clear, I'm not against the GPL, I just don't see any reason to switch away from the Expat/MIT License except for where it was unavoidable. I'll always respect the author's intent.

If someone else wishes to fork this work or start over with Lucius's AprilFirst.zip file and make that GPL, you're free to do so.

@emorrp1
Copy link
Author

emorrp1 commented Apr 12, 2018

Hi @psi29a, I have no problems with what you've done so far or the likely future of the project - I agree it is definitely open-source and should continue on Github.

I'm just trying to help in the way I know best, as I'm trying to become a Debian Developer and I've got the impression that they're suspicious of code dumps by default for copyright authenticity (and I happened to have some free time to follow the trail). I assume you don't contest the copyright origins of this particular release (v1, pre-rewrite) being based on DarkXL under GPL2? I'm also not contesting that the author intended this code to be public and open-source in some way, perhaps even under MIT.

What I am saying is that "As for the license, I added the MIT license after the fact, due to its minimal restrictions on usage." from the uploader is not sufficiently strong evidence to override the author's stated license on the original source. As I said, I don't think anyone's done anything wrong, just that until an explicit confirmation is given that the author intended to re-licence the work, I believe that leaves it under GPL2.

@psi29a
Copy link
Member

psi29a commented Apr 12, 2018

No worries @emorrp1, I haven't taken this personal. :) I'm also a DM (DD?) in training just waiting for someone to sign my keys. I've gone through this song and dance before with unsf, wildmidi and ldaptor (all abandoned) along with tracking down the author and figure out intent.

https://qa.debian.org/developer.php?login=psi29a@gmail.com

I've talked with LuciusDXL a few years ago on IRC and he was still vacillating between licenses. It was one of the last things I talked to him about, aside from DaggerXL on Linux. Since then Klasodeth, who is a close friend of his otherwise he wouldn't have been given the dump to begin with, has stated that the Expat (he called MIT License) was the way forward. No one has heard anything out of LuciusDXL since then.

DarkXL was a standalone project (apparently with support for Blood and Outlaws), XLEngine came about originally as a GUI to help launch DarkXL and his other project DaggerXL. It was never stated what license XLEngine and DaggerXL were. XLEngine then became a game engine in it's own right, to consolidate common functions and leaving the individual games as shared libraries.

Following your path of reasoning, it would imply that DarkX, along with BloodXL and OutlawsXLare GPLv2. That leaves us with DaggerXL that came about some time later, but from the last release from Lucius, it seems that DaggerXL was also it's own binary with an XLEngine Launcher. This would imply that DaggerXL also had XLEngine code linked into it. Then came the huge re-write where all games became plugins and XLEngine became a thing.

https://github.com/luciusDXL/XL-Engine <-- his re-write was also of unclear licensing
https://archive.codeplex.com/?p=darkxl <-- stated clearly that it is GPL (but not what version)

I'm waiting for further clarification from Klaso, or from Lucius himself on the issue.

@Interkarma
Copy link

Hey guys! I wasn't sure of the best place to raise this, but a discussion on licensing of XLEngine (specifically DaggerXL) seemed appropriate.

I'm not sure if you're aware, but DaggerXL benefits quite a bit from the work I did on my earlier tools, particularly Daggerfall Explorer and Daggerfall Cartographer, which were both open source several years before DaggerXL came into being. What I mean by this is that certain code I wrote for these tools has been adapted directly into DaggerXL without attribution. Take the following snippet from Daggerfall Explorer's DE_ContentBuilders.cpp file (source released around 2002) as an example.

https://gist.github.com/Interkarma/7c83022a3cb73004816ae631a44d2070

And compare it to line 225 onwards of MeshLoader_Daggerfall.cpp.

https://github.com/Mindwerks/XLEngine/blob/master/fileformats/MeshLoader_Daggerfall.cpp#L225

It has been certainly been expanded on but the comments, naming conventions, and general flow are largely unchanged from my original work.

I spotted the use of my texture swap method in early videos of DaggerXL, as these videos exhibited a known bug on texture selection under city gates and certain buildings, which is something I later resolved in my future work. I did not have access to Lucius' source code at the time, so could not really confirm.

Besides the above, there are other places where at least part of my original code has been used to propel DaggerXL forwards more quickly than it could have otherwise progressed. But before you think that I'm here to call out plagiarism, that's not what this post is about! There's loads of awesome original work in the DaggerXL code base as well, and I've always released my code from day one - warts and all - so that other people could benefit from it. :)

I'm very happy for Lucius to have used my code in any way that he saw fit. And when I released the source for Daggerfall Explorer and my other tools, the license at the top of my source files specifically states that it is free to use for any purpose. But I did ask for the comment block at top of file to remain intact for purposes of attribution.

I'm only raising this so that you're aware of this re-use as part of your licensing discussion, and hopefully you will see your way to providing me some form of minor attribution someday for the work that I've done in reverse engineering and tool building for Daggerfall since the year 2000 onward. Especially since fragments of my own work are directly extant in this very code base. :)

As an aside, it's no accident that my modern hobby projects like Daggerfall Unity are able to make such deep and substantial progress. It's because I've literally been at this longer and harder than anybody else in the scene. I've also been extremely sharing of all of my code from the very beginning so that others like Lucius could benefit from it. But you can probably understand the deep irony I experience when people criticise my recent work as "not truly open source" because of the dependence on a proprietary game engine (Unity), while at the same time praising DaggerXL which up until recently was not only closed source, it was in fact accelerated thanks to several years of my own hard work and open sharing of source code.

If you'd like to access source code for any of my old tools, you can find these on the Old Tools download page below.

http://www.dfworkshop.net/downloads/old-tools/

The license for this source code is not well defined. For contemporary purposes, I'd be happy to re-license my early works under MIT to help ensure compatibility with your own project here and remove any concerns about the license regarding any re-use in this code. :)

I wish you all the best of luck with bringing DaggerXL and the other XLEngine games back from the dead! There's a lot of great work here and it deserves to see the light of day and for others to play and enjoy. I'm looking forward to watching your progress continue. :)

@psi29a
Copy link
Member

psi29a commented Apr 15, 2018

Hello @Interkarma , thank you bringing this up! Yeah, I'm pretty surprised that Lucius lifted your code and didn't at least attribute it as required by your license. I've been following your work just as long as DaggerXLs.

Can you provide a list of files where your code is found? We can mark those files as being under your license. Or is there anything else we can do? I have no problem with adding a CONTRIBUTORS file where it lists which files your code is in and where it can be found. You said you were open to re-licensing a copy of your code so long as you were attributed?

If there is no way around it and XLEngine had to be GPLed, how would you like your code to be handled? As far as I'm aware, the license you use is custom so it isn't tested to be compatible with the GPL (via their website about license comparability). I have no interest in getting lawyers involved, so if we can hammer this out here, that'll be great!

@Interkarma
Copy link

Hey @psi29a! I honestly don't mind the re-use and more than happy to re-license my older work under MIT to ensure compatibility moving forward with your revival of DaggerXL here. I want you guys to simply not worry about it and some kind of minor attribution is all I'm asking for. At the end of the day this is a hobby for a classic game we all love and I see no reason we can't just make it work. :) I'll re-upload my zips of old source code with an updated license soon. Is that all you require?

I haven't gone through the code file-by-file to find all cases, and don't feel the need to. Although DFFaceTex.cpp is another file found as-is from Daggerfall Explorer (which in turn was adapted from Dave Humphrey's work - which in turn built on work by myself and a chap called Craig Peterson - there was a lot of sharing going on back then). That file still has the original comment header intact, so no problems there in any case.

@psi29a
Copy link
Member

psi29a commented Apr 15, 2018

You don't have to go that far, as you are the author, you can just make a copy available under the MIT license and that is enough.

@Interkarma
Copy link

Sounds good, will make that available soon. Good luck with everything! :)

@psi29a
Copy link
Member

psi29a commented Apr 15, 2018

What, you don't want to help? :P

@Interkarma
Copy link

Interkarma commented Apr 15, 2018

I've uploaded MIT-licensed versions of DaggerfallExplorer and DaggerfallCartographer (just in case) to my GitHub. That should clear any conflicts with my old custom license. If anything else in there is useful (which I doubt this far into the future) please use it with my blessing.

https://github.com/Interkarma/daggerfallexplorer
https://github.com/Interkarma/daggerfallcartographer

@psi29a
Copy link
Member

psi29a commented Apr 16, 2018

Thank you @Interkarma for being a true gentleman. I see that your 'daggerfall-unity' repo is also MIT :)

Might be that we can cross-pollinate? You've been at it longer anyone, including Lucius so you deserve a great deal of credit.

@ghost
Copy link

ghost commented Jun 7, 2019

I've talked with LuciusDXL a few years ago on IRC and he was still vacillating between licenses. It was one of the last things I talked to him about, aside from DaggerXL on Linux. Since then Klasodeth, who is a close friend of his otherwise he wouldn't have been given the dump to begin with, has stated that the Expat (he called MIT License) was the way forward.

I did some more research, as I almost discounted my use case for XL-Engine as the issue 21 above had it down as GPL. And I was looking at a Steam final product which can't use GPL or any copyleft. Tracked down the Klasodeth moderator reference from luciusDXL blog post in archive.org everything adds up esp. with InterKarma work already being MIT, seems like MIT it is with certainty. Plus how much of the code in question is even left, everyone is contributing to MIT license code base now etc.

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants