HackerOne users: Testing against this community violates our program's Terms of Service and will result in your bounty being denied.

Food for thought pertaining to plugin modifications. Developers Please give your thoughts!

peregrineperegrine MVP
edited April 2013 in Feedback

It's cool you modified the plugin and added value. I was just mulling some things over in my mind.

Some thoughts that crossed my mind, it would be interesting what the forum community thinks as well as @Todd or @Lincoln.

  • In this example I believe less than 10 lines of code are different from the original. wouldn't you want to give the original author credit via authorname as well as plugin name.

  • Which leads to did the original author abandon the plugin?

  • What is the correct "Forum etiquette" revolving around this (taking op code and making a few code changes, but essentially keeping the same plugin as the original designer had coded it).?

  • If it isn't abandoned should you just post code changes or add a modified zip in a discussion or fork it into your own github.

  • My comments are not to stifle innovation or enhancements, just "What is the right thing to do?"

  • Developers, and others please weigh in.

I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.

Tagged:
«1

Comments

  • fh111fh111 Vanilla Padawan ✭✭

    Well personally I think it would be great if developers could just take a plugin, adjust or improve it and then release it. Especially useful if there is a good plugin that seems abandoned, but still has so much potential (thinking about the WhosOnline Plugin). Maybe something just needs some minor tweaking to function properly or it needs a few lines adjusted to work in vanilla 2.1 .. but people like me will not get that done. Skilled developers can easily do that and modify it to their needs. Of course I could just put a lot of time into learning how to code - but i just don't have the time (and talent). I am happy if i can put enough time into managing the community.

    So from my point of view it would be awesome if stuff like this was OK

    ...aren't the plugins OpenSource as well?

  • peregrineperegrine MVP
    edited April 2013

    @fh111

    Maybe something just needs some minor tweaking to function properly or it needs a few lines adjusted to work in vanilla 2.1

    that is where adding the zip to a discussion could be added. The original author could incorporate the suggestions.

    Otherwise - i think the add-ons repository will get a bit out of control with 1000 variations of the same plugin (that the original designer is still active with).

    I'll put my opinion in...

    • on recent plugins - updated within the past year.

      If a person is only changing a few lines of code on a non-abandoned plugin, they should zip it up and put it in a discussion, instead of creating a new plugin, or fork it via github.

    and the


    on abandoned plugins....

    • But if the plugin is a couple of years old and appears to be abandoned, e.g. the author has not responded for a year. Than it should be fair game to start a new add-on with the underlying code, but give the underlying author credit.

    e.g. the whosonline and it looks lile the botstop plugin (although less than a year old the author has never responded since updating it).

    e.g. when I uploaded a mod to whosonline , I did this in the plugin description

    'Description' => "Lists the users currently browsing the forum. with mod by Peregrine to Show Pictures",
    'Version' => '1.3.1',
    'Author' => "Gary Mardell"

    whosonline mod

    and with botstop

    'Description' => 'Adds a question designed to stop bots from registering',
    'Version' => '1.0.2.1 - with randomization mod by Peregrine for RegisterApproval method only for 2.0.18.x',
    'Author' => "David Massey"

    botstop mod

    I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.

  • vrijvlindervrijvlinder Papillon-Sauvage MVP

    I think that if a person is going to clone a plugin or theme, that they should give credit to the originator. That is the least one is required to do . And is a rule that applies to the GNU license or other open source licenses . It can be modified and redistributed but the original creator must be given credit.

    In my quest to learn how to make plugins, I cloned the ExtraPage plugin and made it something else. I do mention it is a clone and based on that original plugin by peregrine. That is how it should be plain and simple. Unless it is a brand new innovation one must credit the creators of that work.

    This is the same with images that are creative commons. You can use and modify but the creator needs to be mentioned.

  • businessdadbusinessdad Stealth contributor MVP

    I agree with @peregrine, it would be better to fork an existing plugin on Github, when possible, and give credits to the original author(s).

    @fh111 said:
    ...aren't the plugins OpenSource as well?

    The answer to this question is more complicated than one may think. You can get all the source code of the plugins and themes in the Addon section, but, strictly speaking, that doesn't automatically grant you the right to release them under another name, especially if you remove references to the original author. If the author doesn't mind, then it's all good, but, if it's up to him, or her.

  • vrijvlindervrijvlinder Papillon-Sauvage MVP

    If the person has abandoned the plugin and no more support given by them , but someone else picks up and fixes things , that is trickier. Should they release their fixed version under another name like enhanced
    plugin or just post the fix for people to use if they need?

    I am sure that the like this plugin has not been abandoned by it's author. This new clone just replaces the text for an image no?

  • Actually it is a clone of the kudos plugin named liked.

    I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.

  • vrijvlindervrijvlinder Papillon-Sauvage MVP

    I just noticed that, it is an identical clone , the inside still called kudos lmao maybe they should have name it likerkudos

  • @vrijvlinder said:
    I just noticed that, it is an identical clone , the inside still called kudos lmao maybe they should have name it likerkudos

    grasshopper, you are seeing my point of the discussion.... :)

    I may not provide the completed solution you might desire, but I do try to provide honest suggestions to help you solve your issue.

  • vrijvlindervrijvlinder Papillon-Sauvage MVP

    Some would call that Chutzpah and others highly unethical, yet others would call it wtf were they thinking?!

  • x00x00 MVP
    edited April 2013

    I don't really see the problem.

    Besides it is not really up to Todd.

    It might be up to them if they clear it from their server, but they can't decide who get to use, distribute, and modify it.

    It is licence attached, which is the responsibility of the originator.

    As far I understand they don't have a strict policy like wordpress for their repository. It doesn’t have to be one type of licence.

    grep is your friend.

  • vrijvlindervrijvlinder Papillon-Sauvage MVP

    I see a problem with ethics at the very least.

    However the original creator should weigh in on the matter. If they don't care then I guess it's all good. I have modified plugins for my own purposes but that is a far jump to authorship. I would gladly share my mods but clearly not claim ownership. If I were to modify something so much it no longer resembles the original , I would still credit the person who created the foundation. Maybe That is just me but it should be everyone.

    example here from the Kudos exact clone/Liker Plugin which should be called something other than Kudos :

    class KudosPlugin extends Gdn_Plugin {
    
        public function Setup() {
    
        $this->Structure();
    
      }
       public function PluginController_Kudos_Create($Sender) {
          $Sender->Permission('Garden.Settings.Manage');
          $Sender->Title('Kudos');
          $Sender->AddSideMenu('plugin/kudos');
          $Sender->Form = new Gdn_Form();
          $this->Dispatch($Sender, $Sender->RequestArgs);
       }
    
    

    To really change the name into another plugin other than the original this is what would have to be :

    
    class LikerPlugin extends Gdn_Plugin {
    
        public function Setup() {
    
        $this->Structure();
    
      }
       public function PluginController_Liker_Create($Sender) {
          $Sender->Permission('Garden.Settings.Manage');
          $Sender->Title('Liker');
          $Sender->AddSideMenu('plugin/liker');
          $Sender->Form = new Gdn_Form();
          $this->Dispatch($Sender, $Sender->RequestArgs);
       }
    
    

    that is just a small part that would need to be renamed. If you have the original Kudos plugin installed, installing this will mess something up. You can't call the same plugin controller twice .

    This is not the original author yet in the plugin it says 'Author' => "Walawov",

    it should say 'Author'=>" keepitterron" since it is the same exact code names and all.

  • I can agree with that. Though it wouldn't really make sense to install both plugins anyway.

    grep is your friend.

  • hgtonighthgtonight ∞ · New Moderator
    edited April 2013

    My take on the situation.

    • The license for plugins uploaded to the addons section is implied to be an open source license (defined by FSF or OSI) according to the contributer's agreement. A specific license should be in your uploaded zip file.

    • Asking permission is a nicety. At the absolute, very least, attribute the original author in your description and keep all comments pertaining to them by name in the code. You must follow the terms of the license!

    • I like to say stuff like "Blander Blog is a blogging plugin for Vanilla. It is based on the absolutely excellent NillaBlog plugin by [Dan Dumont] (http://blog.canofsleep.com/). Then, since I am maintaining this fork, put my name as the author.

    • Use version control (I prefer github).

    It would be nice if the addons repository was available via git. Or anything that would make forking, merges, updates, etc. more apparent.

    Search first

    Check out the Documentation! We are always looking for new content and pull requests.

    Click on insightful, awesome, and funny reactions to thank community volunteers for their valuable posts.

  • vrijvlindervrijvlinder Papillon-Sauvage MVP

    Ok granted in the event people know it is the same plugin, but due to it's external name, it gives the idea that it does something else or extra than the Original . People may think it is an extension of the original. It creates confusion.

    Which could be averted by stating the real facts .

    "This is a carbon copy of the Kudos Plugin " You will need to disable the Original Kudos plugin if you want this to work exactly like the Kudos Plugin."

  • I wish Vanilla hadn't got swept up by the GPL fad.

    I remember Mark saying they talked to lawyers about, possibly switching to MIT and they were advised against it. @Todd can you comment on this?

    grep is your friend.

  • vrijvlindervrijvlinder Papillon-Sauvage MVP

    As I understood it you can include MIT licensed code in a GPL licensed product and also can include GPL licensed code in a MIT licensed product.In copyright for a combined work (that is two or more works form together a work), it does not make much of a difference if the one work is "larger" than the other or not.

    So if you include GPL licensed code in a MIT licensed product you will at the same time include a MIT licensed product in GPL licensed code as well.

    It seems to me that the chief difference between the MIT license and GPL is that the MIT doesn't require modifications be open sourced whereas the GPL does.

  • It is more complex that. GPL is a "syphon" type licence you can can only go in one direction, more copy left, or the same licence.

    MIT doesn't try the to control the future of the project it is permissive.

    When jQuery was first released on MIT licence, it might be joint licence now, but if it hadn't been released on MIT GLP, the uptake would have been slower.

    Therefore John Resig was smart enough having, gone to MIT, to know that this was a more suitable licence for this type of library which has extremely broad usage.

    grep is your friend.

  • Not even changing the plugin class is kind of disgusting.

    Nothing more than a sloppy hack changing a line of css or text and then trying to take the credit. Lame if you ask me.

    Got an improvement? I agree, Github that sucker. Credit where due.
    Got a new direction to take similar code? Okay, but.. give the original author credit in your code and in your description, maybe even man up and link to the original work.

  • vrijvlindervrijvlinder Papillon-Sauvage MVP

    I think the author of the clone needs to rectify and resubmit . Strange that he has not participated in this discourse .

Sign In or Register to comment.