Quantcast
Add-on code - the grey line of "based on" - ESOUI
Thread Tools Display Modes
05/08/14, 03:57 AM   #1
Stormknight
 
Stormknight's Avatar
AddOn Author - Click to view addons
Join Date: Feb 2014
Posts: 128
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:

"A lot of my code was based on/adapted from the excellent AI Research Grid, so kudos to those guys and their handy add-on."
To me, this is out of order.

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?
__________________
Author: AI Research Grid | Awesome Info

Last edited by Stormknight : 05/08/14 at 04:06 AM.
  Reply With Quote
05/08/14, 05:29 AM   #2
Iyanga
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 185
Originally Posted by Stormknight View Post
copy'n'paste from my own addon, including comments in most places.
That is where my line would end.

That's the border from copying an idea to copying an addon.
  Reply With Quote
05/08/14, 05:35 AM   #3
lyravega
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 93
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.
  Reply With Quote
05/08/14, 01:57 PM   #4
Roupine
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.
Attached Thumbnails
Click image for larger version

Name:	Screenshot_20140508_144723.jpg
Views:	470
Size:	201.6 KB
ID:	227  
  Reply With Quote
05/08/14, 04:18 PM   #5
Seerah
Fishing Trainer
 
Seerah's Avatar
WoWInterface Super Mod
AddOn Author - Click to view addons
Join Date: Feb 2014
Posts: 651
Originally Posted by Iyanga View Post
That is where my line would end.

That's the border from copying an idea to copying an addon.
Yes, this is where copyright comes into play.
  Reply With Quote
05/08/14, 05:33 PM   #6
Kentarii
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 42
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.
__________________
My addons: Quest Journal - Research and Mount Timers - Clock - Texture Viewer
Other addons I use: Achievement Tracker, Advanced Filters, Alchemist, AI Research Grid, BatmanStoreFilter, Esohead, Foundry Tactical Combat, Greymind Quick Slot Bar, HarvestMap, Inventory Grid View, Inventory Item Borders, Research Assistant, SkyShards, Sous Chef, TreasureMaps, ZrMM - Modified

Last edited by Kentarii : 05/08/14 at 05:36 PM.
  Reply With Quote
05/08/14, 05:41 PM   #7
Stormknight
 
Stormknight's Avatar
AddOn Author - Click to view addons
Join Date: Feb 2014
Posts: 128
Originally Posted by Kentarii View Post
0
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?.
To date, the three people that have approached me in such a way have had my help, to teach them why the code I have written is the way it is, so they understand it and consequently their own work.

I'm happy to help others.

I dislike investing effort to create something and then having someone else try to take credit for it.
__________________
Author: AI Research Grid | Awesome Info
  Reply With Quote
05/08/14, 05:54 PM   #8
Kentarii
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 42
Originally Posted by Stormknight View Post
To date, the three people that have approached me in such a way have had my help, to teach them why the code I have written is the way it is, so they understand it and consequently their own work.

I'm happy to help others.

I dislike investing effort to create something and then having someone else try to take credit for it.
Yup, I totally understand how you feel and as you can see by my signature, I'm using your addon
__________________
My addons: Quest Journal - Research and Mount Timers - Clock - Texture Viewer
Other addons I use: Achievement Tracker, Advanced Filters, Alchemist, AI Research Grid, BatmanStoreFilter, Esohead, Foundry Tactical Combat, Greymind Quick Slot Bar, HarvestMap, Inventory Grid View, Inventory Item Borders, Research Assistant, SkyShards, Sous Chef, TreasureMaps, ZrMM - Modified
  Reply With Quote
05/08/14, 05:59 PM   #9
stjobe
 
stjobe's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 60
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
  Reply With Quote
05/09/14, 02:44 AM   #10
Stormknight
 
Stormknight's Avatar
AddOn Author - Click to view addons
Join Date: Feb 2014
Posts: 128
Originally Posted by stjobe View Post
Besides, there's few things more sweet for a programmer than coming up with a neater solution to a problem than someone else has
That.

Especially if it looks cool too!
__________________
Author: AI Research Grid | Awesome Info
  Reply With Quote
05/09/14, 03:30 PM   #11
Vuelhering
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 169
Originally Posted by Kentarii View Post
I agree that he might have crossed the line, but mostly in the sense in how he went about the process.
...
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?
This is where the line is. There's not really any room for devil's advocate here. All answers to any of your questions are basically, "No, this was improper. There's no wiggle room."

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).

Originally Posted by Stormknight View Post
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?
Generally, swiping the look & feel is okay. If you find a nice way to present something and someone presents it in a similar manner, that's cool. The problem is if you use certain icons to signify something, and they swipe those icons or graphics (or worse, repurpose them to mean something else which interferes with the usage of your code).

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.
__________________
Knights who say Ni!

"Blaming addons for bad behavior of people is like blaming the getaway car for the bank robbery."

Last edited by Vuelhering : 05/09/14 at 03:39 PM.
  Reply With Quote
05/09/14, 03:43 PM   #12
Vuelhering
AddOn Author - Click to view addons
Join Date: Mar 2014
Posts: 169
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."
__________________
Knights who say Ni!

"Blaming addons for bad behavior of people is like blaming the getaway car for the bank robbery."
  Reply With Quote
05/13/14, 02:45 AM   #13
sae
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.
  Reply With Quote
05/13/14, 05:29 AM   #14
Fathis Ules
Thief Guild Master
 
Fathis Ules's Avatar
Premium Member
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 42
Originally Posted by sae View Post
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
If this is your first post outta there then please refrain from posting again...
__________________
The only one bayesian antispam for The Elder Scrolls Online ^
  Reply With Quote
05/13/14, 06:57 AM   #15
hNipster
AddOn Author - Click to view addons
Join Date: May 2014
Posts: 1
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.
__________________
-hNipster
  Reply With Quote
05/13/14, 07:04 AM   #16
CatoTheElder
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!
  Reply With Quote
05/13/14, 07:09 AM   #17
CatoTheElder
Join Date: May 2014
Posts: 44
Originally Posted by hNipster View Post
... and I don't really care to argue copyright on a hobby
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.
  Reply With Quote
05/13/14, 07:34 AM   #18
ingeniousclown
AddOn Author - Click to view addons
Join Date: Feb 2014
Posts: 125
Originally Posted by CatoTheElder View Post
... Some of them aren't the friendliest people, and there seems to be some pretty bad superiority complexes around here. ...
*coughs loudly, obviously and obnoxiously*

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
  Reply With Quote
05/13/14, 02:10 PM   #19
Cairenn
Credendo Vides
 
Cairenn's Avatar
Premium Member
WoWInterface Admin
Join Date: Mar 2004
Posts: 432
Stop it guys.
__________________
Co-Founder & Admin: MMOUI
FaceBook Profile, Page, Group
Avatar Image by RaffaeleMarinetti
  Reply With Quote
05/13/14, 02:20 PM   #20
Sephiroth018
 
Sephiroth018's Avatar
AddOn Author - Click to view addons
Join Date: Apr 2014
Posts: 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.


Originally Posted by Stormknight View Post
...
I dislike investing effort to create something and then having someone else try to take credit for it.
Would it be OK for you if he explicitly stated that he used your UI code? I'm asking that only because I want to know your opinion on that.
Btw, in my opinion he didn't try to take any credit for your UI code, but for his idea.


Originally Posted by hNipster View Post
...
so I'm discontinuing public development of it.
...
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.
  Reply With Quote

ESOUI » Developer Discussions » General Authoring Discussion » Add-on code - the grey line of "based on"

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off