Go to Page... |
Thread Tools | Display Modes |
05/08/14, 03:57 AM | #1 | |
Add-on code - the grey line of "based on"
TL;DR - I am interested in where your "grey line" is on people basing their addons on other people's work.
Like most addon authors, I am happy to help others learn and produce quality addons. I use many other addons as well as my own and they make the game a lot better. I'm also happy if people say things like, "Oh hey, I looked at your code for doing <x> and that's cool. I learned from that and am using a similar technique in my addon." So we see a fair amount of addons that say they are "based on" another addon. I see other addons and think, "Hey, I could do that better. I have some neat ideas to improve on it" and I may even look at the code to get an idea of which API functions and events they're using and in what context (I don't though, as I just don't have the spare time recently). To me, that's just competition and is ok. In that circumstance, I'd almost certainly communicate with the author to also let them know. It's a grey line though. So this morning I receive a message from someone telling me that there is a new addon called "Set Crafting Grid" that looks almost identical to one of my own addons. I've taken a quick look and indeed it does and, unsurprisingly, when I download it, I can see the majority of the code is directly copy'n'paste from my own addon, including comments in most places. There's a line of text at the bottom of the addon description:
If the author had bothered to contact me in advance, or created their own design based on mine, then I'd possibly view it differently. I don't know. Just for info: My addon "AI Research Grid": http://www.esoui.com/downloads/info2...earchGrid.html "Set Crafting Grid" http://www.esoui.com/downloads/fileinfo.php?id=448 My grey line I think is based on the following: * Did they swipe the visuals? If it looks the same, that's a big no. * Does it include large chunks of copy-paste code? That's also a no. So, I'm interested to hear what position do the rest of you take on the subject of authors using other authors code? Last edited by Stormknight : 05/08/14 at 04:06 AM. |
||
05/08/14, 05:29 AM | #2 |
|
|
05/08/14, 05:35 AM | #3 |
|
Well, modding is a hobby for me, I've created several mods for several other games; I enjoy the challenge.
Code wise, whenever I am stuck with something, I look for other mods that already had tackled the problem, and see how they did it, study it, and implement my own solution. The important thing here is, devising your own solution to the problem; copy/pasting a code, or just changing the variable names/etc... you won't learn a thing on the long run. UI wise, I am a rather bad modder. So I look for libraries and other stuff that I can use in order to save time. I even contacted Seerah, asking whether or not I need his/her blessings to use the libraries, and s/he told me it is a library for people to use. There are some cases, where you cannot reinvent the wheel. Similarities are bound to occur, so it may look the same, do the same, work the same, but as I've said, the important thing is devising your own solution; learning how it ticks, getting the feel of it so to speak. Now to your question, if someone is trying to understand a piece of code in my mod and contacted me, I'd gladly help. However, if someone just goes and "steals" my code, it is well beyond the line. |
05/08/14, 01:57 PM | #4 | |
Join Date: May 2014
Posts: 18
|
I'm still learning Lua and coding addons for ESO, so a lot of folks' addons that I've downloaded have a number of tweaks and changes that I've put in myself trying to figure them out (or to personal taste). I've even done my own version of a crafting grid that I made while referring heavily to AI Research Grid (see attached).
Even though I did build it from the ground up (how else do you learn?) I don't plan on publishing it because of the similarities. It's not as blatantly copied but that's still the line for me. |
|
05/08/14, 04:18 PM | #5 |
05/08/14, 05:33 PM | #6 |
|
I agree that he might have crossed the line, but mostly in the sense in how he went about the process.
I've looked at dozens of addons while trying to learn the ropes with addon development and Lua, but refrained from copy/paste (except from the wiki). But lately, I just refer to the wiki page, zgoo and sometimes the Lua documentation. Just to play the devil's advocate I'm gonna throw some questions out there: Would you have been honored if he first approached you and asked politely if he could create an addon based on yours? Are we addon developers too much attached to the ownership of our own source code? The addon developer community isn't that big (at least not on IRC with 30'ish people hanging around). How long does it take for an addon to be abandoned by an author who stops playing the game? Would it be better if we all started hosting our projects on Github so people can fork off and do their own "improvements" and post pull requests which you can use or reject? One example of an addon which have been "forked" is ZrMM, and we're all better for it. PS. I'm using my own private subversion server atm for my addon, but consider moving it to ESOUI's git server. The licensing I chose for my code was CC by-nc-sa 4.0. Last edited by Kentarii : 05/08/14 at 05:36 PM. |
05/08/14, 05:41 PM | #7 | |
I'm happy to help others. I dislike investing effort to create something and then having someone else try to take credit for it. |
||
05/08/14, 05:54 PM | #8 | |
|
|
|
05/08/14, 05:59 PM | #9 |
Getting inspiration, tips, tricks, neat solutions, and good practices from reading other people's code is something that should be encouraged; it's a great way to learn.
However, it is paramount that you don't just copy-paste code - for one thing, it's rather rude unless the original author specifically stated it's okay to do so, for another you won't learn a thing - which will in all likelihood lead to you not being able to maintain "your" addon, which will lead to you losing interest, which will lead to an abandoned addon with disappointed users. So yeah, get inspired by someone else's code by all means, but write your own. You'll feel better, the original author will feel better, and our users will end up with better addons. Besides, there's few things more sweet for a programmer than coming up with a neater solution to a problem than someone else has |
|
05/09/14, 02:44 AM | #10 |
05/09/14, 03:30 PM | #11 | ||
|
Basing your code on someone else's means it's not your code. Lacking sufficient transformation, it becomes a derivative work of the original, creative thought. The more you utilize, the more transformative it must be. The method of presentation, while creative, is generally not copyrightable except at the low level (like graphics created for the job of displaying the grid, e.g.). The underlying code (which in this case was copied) is the important, creative stuff, and wholesale copying without permission is actually illegal. Doing it a different way with a similar result is generally fine, unless you've shown to be a copyright offender in the past. I've done "clean-room" style reverse engineering in the past, and had to make sure not to contaminate my knowledge with code or even screenshots of what I was reverse engineering. I had to be told by someone else what the exact specs were, and implement that all on my own. Requiring the user to separately install, then utilizing the installed code as a library is also generally fine. In that case, you are not doing any copying of the code, but of course, the code could get changed to mess with you. There are exceptions, like when doing so encourages the user to break some sort of EULA (and we can blame blizzard for not even being able to inspect your own computer ram). If the person had viewed the screenshots and description here and created his own stuff that looked similar, that would've been great. Instead, he grabbed the code and modified it to suit his own needs, then released it as his own. While people here often believe in FOSS such that you can adapt it to your own uses, and many even allow you to subsequently distribute it with the copyright notice intact, this was not the case here. Stating it's "based on" doesn't protect you ... it's outright lying ("this is my code") with a mere acknowledgement of the actual author. Remember that copyright gives a monopoly on distribution, and that was not granted by Stormknight. The code is actually copyrighted by the Stormknight, and that copyright notice was removed and it was distributed without permission. I'm not sure if Stormknight published under an open source license, but if it were, it would still be taken down immediately for removing the copyright notice which egregiously violates the terms of pretty much every Open Source license. Because he actually started this thread, he obviously didn't make it public domain either (which is fully free, and does not require even an acknowledgement, although many people still give one).
Large chunks of copy-paste are not okay, and they also make the above look & feel not okay. By swiping code, they've pretty much acknowledged that they are ignoring copyright and stealing as much as possible. Viewing the duplication of look & feel in that light makes it not okay. Last edited by Vuelhering : 05/09/14 at 03:39 PM. |
||
05/09/14, 03:43 PM | #12 |
|
If it were me, I would request the admins take it down, but allow a reupload with an apology and the copyright notice added in at the top, something like "Parts of this code are copyright blah blah by Stormknight, http:// addon url, used with permission."
|
05/13/14, 02:45 AM | #13 | |
Join Date: Apr 2014
Posts: 1
|
sooner or later, there will be more and more addon with same functionality, but also with more features if not here then on other addons sites.
MORE n MORE ppl begin theirs adventure with ESO, as do as lua coders SO FACE IT and stop flaming, just check wow addons how many of them is just copypaste #freeluascripting soz for eng skillz, : o Last edited by sae : 05/13/14 at 03:02 AM. |
|
05/13/14, 05:29 AM | #14 | |
|
||
05/13/14, 06:57 AM | #15 |
|
Personally, my position on add-ons as simple as these is to keep 'em open-source, MIT style. I mean, it's a community, put the code out there for everyone to use any way they wish. This viewpoint is partially why I made the following mistake...
As the person that wrote the mentioned add-on, without a license file or copyright notice of any type in the AI Research Grid add-on, I kind of assumed it was open source/MIT (there's not even an author listed in the manifest). I presumed MIT style licensing since so many of the other add-ons here use that style of license; thus free to do with what you will, since that's what open source is all about (and I would have included that copyright if it were there, but it wasn't so I went with a mention on the page). Whether I agree with his viewpoint or not, it was my mistake not to follow up and confirm usage/licensing/what have you, which I apologized to the author for when he contacted me. In any case, I have since rewritten the entire add-on, and it no longer has any of that add-on's code. It is still continuously being set to hold though for whatever reason; and I don't really care to argue copyright on a hobby, so I'm discontinuing public development of it. Peas. |
05/13/14, 07:04 AM | #16 | |
Join Date: May 2014
Posts: 44
|
Another highly controversial topic? Great...
The matter of intellectual property rights protection is a multi billion dollar/yr industry. It is a legal grey area world wide. Speaking empirically, there is no property at all. You've simply instructed a compiler to compile easy to read and write "code", to lower level code, which gets passed to the OS kernel, which does the same and passes it to the drivers, which does the same, and passes it to the firmware, which then orders the pulsing of electricity through a circuit. The legal rulings so far, are pretty much a joke. For example, Apple was recently awarded exclusive rights to use boxes with rounded corners on mobile devices. Although, I remember quite clearly devices that had boxes with rounded corners before Apple even existed. Hell, I personally coded that before Apple. The concept of rounding sharp edges, is probably what... quarter of a million years old, I'd guess? Practically, anything you release to public can be copied. Unencrypted text is ridiculously simple to copy. The more encryption, the harder it is, but one can always go down a layer further than you did, and copy it from there (hence why every encryption method is broken in less than 6 months). Practically speaking, there is nothing you can do to stop others from taking your code, and you really can't prove they did anyway.... since your code is directly based on the API, and you didn't write that. As already mentioned, the most you could do is attempt to have their uploads removed from each place you find them at. It is always nice to contact the original author first. Working together usually ends up with a better result anyway. It goes the other way too though, you can contact the other person and offer to work with them. In the end, best to think of it like this: "Imitation is the sincerest form of flattery." ... and if you're that upset, there's always a way around everything, if you're willing to put the resources in to it. Cheers! |
|
05/13/14, 07:09 AM | #17 | |
Join Date: May 2014
Posts: 44
|
This guy gets it.
As I just said, I highly recommend working together with the original author. Some of them aren't the friendliest people, and there seems to be some pretty bad superiority complexes around here. I'm not exactly well liked in this community either, so I'm sorry for the trouble. If you'd be so kind, please drop me a PM about the addon you've made, I'd love to check it out. |
|
05/13/14, 07:34 AM | #18 | |
|
Really, you put on an air of friendliness but in other threads you call someone "a ****ing idiot" with no provocation. Look, I won't argue that you're not smart or that you don't have a lot of experience, and some of your posts are actually helpful and insightful (like the one previous to the one I quoted, with the exception of the first and last lines). But do not pretend to be the victim, here. You are "not exactly well liked in this community" for no reason other than the fact that you come off as arrogant, egotistical and always right; NOT because the community is toxic. Last edited by ingeniousclown : 05/13/14 at 02:20 PM. Reason: removed a bit of unnecessary smartassery |
|
05/13/14, 02:10 PM | #19 |
Stop it guys.
|
|
05/13/14, 02:20 PM | #20 | |
And this thread exactly shows why my addons will always be private and only used by me (and maybe some friends). I have to deal with all those different kinds of copyright licenses in my job (software developer) and then I should do that too for a hobby?
I also like to "reinvent the weel" so to say, just because I like programming, but there are some things I don't like to reinvent, especially if there is something about it that I dislike or takes too much time for me to do. Why shouldn't I use a part of another addon to quicker finish the development of my idea, so I can use my time for something else? Just as an example, I made an addon that junks loot based on a rule system, before JunkBuster worked good enough. As it is very similar in it's functionality, there are only so many ways to do that and so I'm sure parts can already be considered copied, even if I never looked at the source code of it and never included more UI than some debug settings with LAM, as I currently am the only user of the addon and edit the rules directly in the saved variables. If it had a UI working as I wanted, I would definitely have copied and adapted the code for it, because doing that myself isn't worth the effort, even if I would have made it publicly available. To the specific case here: Yes, it's not really nice that he copied your UI, but I think there is a difference between copying the code to post it as his own and copying the code to use it in a different way. In the first case, it would be OK to let the addon be put down. But in the latter case, he used the code to make something different out of it and just used your UI code because it was a quicker way to finish his goal (a matrix of crafting item types and something (in his case crafting sets), displaying which item could be crafted with that set bonus, and a teleport ability). Without that, it would probably never have been released, which would really be a shame. To all addon authors: Please stop using licenses that don't allow the usage of your code, just include some license that allows modifying, partial use and so on as long as they give credit and we all will benefit from it, in the form of more addons. Yes, there will be many addons that are nearly the same, only varying in some small functions, but where is the problem with that? Addon developing is just a hobby! Or at least be so kind and always include a license, so we know explicitly what you allow others to do with your code. To ESOUI: Please add the ability to define the used license and show it on the addon page. In the best case this should be a required field. And in a perfect world, the MIT license (or one equal to it) would be preselected.
Btw, in my opinion he didn't try to take any credit for your UI code, but for his idea. Well done, copyright friends. PS: Even if I never publish my addons for the public, every single one is under the MIT license to allow maximum reuseability of my code. PPS: If there is anything not understandeable in this post, please consider that this post has been written, reformatted and partially rewritten for about 2 hours. |
||
ESOUI » Developer Discussions » General Authoring Discussion » Add-on code - the grey line of "based on" |
«
Previous Thread
|
Next Thread
»
|
Display Modes |
Linear Mode |
Switch to Hybrid Mode |
Switch to Threaded Mode |
|
|