Bamboo Instance for all OSS Plugins

Discussion in 'Plugin Development' started by ccallahan, Mar 16, 2011.

Thread Status:
Not open for further replies.
  1. Offline

    ccallahan

    I am attempting to catalog all Open Source plugins into a Bamboo instance of mine. If you want access please send me a PM here or on MinecraftForum.net and I can give you a account. I will be updating this as I get them linked up. Devs! Please post instructions on how to compile your plugin (Ant, Maven, Etc) and I will add it. I am especially looking for instructions for Minecart Mania. Mods: If you move this threat shoot me a PM please :)

    Instance: http://etherstorm.ccallahan.info:8085

    Plugins Enabled:
    WorldEdit
    WorldGuard
    Minecart Mania Core
    iConomy

    Attempting to enable:
    MoveCraft
    Cyklo's Plugin Suite (https://github.com/cyklo/)

    Having Issues (Will be contacting plugin dev for support):
    CraftBook
     
  2. Offline

    Drakia

    This is a seriously bad idea. A push to Git does not equal a version release in all cases. The last thing a plugin dev needs is somebody running a plugin from this system asking for help when there is no guarantee that the push to Git was stable.

    There's also the fact open source doesnt mean the author wants somebody else releasing builds of that plugin. As an author of OS plugins I kindly request that none of my plugins be included in this system.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 12, 2016
  3. Offline

    Afforess

    Yeah - So? This is clearly targeted at development builds of a plugin, not stable releases.

    If it's open source, I don't think the author has much say in what other people do with the code.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 12, 2016
  4. Offline

    Drakia

    @Afforess I've done OS before, "dev build" to a user is just another reason to bitch that things don't work. Have fun dealing with people who don't know what they're doing ;)
    As I said, I kindly request my plugin isn't included, if that doesn't work, then I'll just rudely make my plugin not work with his build system without manual changes :) Because guess what, it may be open source, but it's still MY code, and MY git project.

    Let's give an example of why this is a bad idea: Users like cutting-edge, so there's a good chance a large portion of your user base will atleast try running whatever build this thing spits out.

    One day you decide to re-write how the plugin does something, it's a pretty big change, you test it locally and everything looks good, it seems to be working how you want it to, you push to git, upload to your server, it's still being tested so you don't upload it to a website, you consider it a done deal for now.

    A few minutes later your users start saying something about world corruption, random block placement, things changing when they shouldn't, something that just shouldn't be happening, and the only change you made was your new method of doing whatever it was your plugin does, you disable the plugin and the problem goes away. "Oh shit" you think, and you now have to go through all that code to figure out what Bukkit isn't agreeing with.

    Had you hosted this "dev build" on your own site, it's as simple as removing the file and posting that people shouldn't use it. However since it's hosted on some random guys instance of Bamboo, you have no control over the file, no way to take it down and no way to let users know it's going to break something. You don't want to just revert the changes in Git because it was a lot of code that you had just re-written. And now your users worlds are getting more and more corrupt, enjoy!
     
  5. Offline

    Afforess

    You clearly don't understand the whole point of FOSS. If you make your code open source, EXPECT people to use it, modify it, distribute it, etc. If you don't want that, use a different licence. As for support, the level of support is always up to you to provide. Heck, you could even charge for support, if you wanted. You can offer no support, lots, or anywhere in-between.

    To the OP,

    I see you're asking about building MM. I don't have any automated build process - I've been lazy so far and let eclipse take care of everything but the manifest file. You should be able to set up a simple automated build and just have it set the classpath to include "MinecartManiaCore.jar".
     
  6. Offline

    Drakia

    Yeah, people can use my code all they want, do I want people releasing builds claiming to be my plugin? Nope, cause I don't want to support anything other than my builds.
    I never said I'd stop people from using my code how they please, I said I'd stop my code from building using an automated system, the code will still be valid, I'll just throw in one line of giberish to screw with things like this. That line to me will make no difference, I know it's there, to anyone who wants to use my code it will make no difference, because they'll see where the error is and be able to remove said line, or will only use parts of my source.
    I don't like the idea of somebody releasing "dev builds" of my plugin claiming to be MY plugin. And I will do anything in my power to stop said builds from being automatically generated.
     
  7. Offline

    ccallahan

    I don't believe that I said I was releasing them under my name. It says in multiple places that you are the owner of the plugin. That, and all FOSS licences say if I wanted it I can port it all I want if I was going to do so, which I'm not. If you don't like it then close source your plugin.
     
  8. Offline

    Drakia

    You can take the code and do what you want with it, I don't OS my plugins so other people can release builds using my plugins name, I do it so other people can learn from or use the code. If you want to take my code and release it under a different name and offer support, then good for you. What I don't want is you using the name of my active plugins for your builds.
     
  9. Offline

    Afforess

    Please stop. If you open source your plugin, then I can do whatever I please, within the bounds of the licence. Generally, that INCLUDES modifications, distribution, etc.

    If you don't like it, tough. You chose the licence. Don't get angry at us.
     
  10. Offline

    Drakia

    Modify and distribute away, what I'm saying is you can't do so using the same name as my plugin.
     
  11. Offline

    ccallahan

  12. Offline

    Afforess

    Excellent Link @ccallahan.

    If you're licence does not restrict it (and I suspect it does not) than I CAN use the same name.
     
  13. Offline

    ccallahan

    @Afforess This is confusing factoring in that there is no autobuild script x.x

    Would javac src/com/afforess/minecartmaniacore/*.java be the correct syntax.....
     
  14. Offline

    Afforess

    Yes.
     
  15. Offline

    ccallahan

  16. Offline

    petteyg359

    Makes perfect sense, and I completely agree.

    Yes, any random ass can take the code and change the author information and claim they wrote it, but they become an ass the moment they do so, and lose all respect from anyone except other asses. I very much hope neither of you actually supports people who do such. I kind of like Minecart Mania, and I'd hate to have to stop using it as a matter of principle :p

    @OP: A public repository that keeps the latest and also older versions of jar and zip files (and only jar and zip files) could be very useful for some, but a CI system outside of the developer's control is just asking for problems.
     
  17. Offline

    Drakia

    Thank god I'm not the only sane one here. @petteyg359 thanks for the backup!
     
  18. Offline

    ccallahan

    I'm not *taking* anyone's code. I'm just compiling it. And, if you look at the link above, it lists the developers name next to the plugin's build status page. So, again, I am within the boundaries or the Open Source Definition. If you don't understand that there is no rule saying I can't in the OSD, then change your licence and close source your product. I don't want drama, I want to advance and aid the development of wonderful plugins. So, if you came here to flame and be a attention whore, please read the previous sentence 5 more times then close source your product.

    On a footnote, a developer could get full access on request. They would just need to PM me on here.

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 12, 2016
  19. Offline

    Drakia

    I came to state my opinion and ask that none of my plugins be included. Afforess is the one who started the argument.
     
  20. Offline

    limhyc

    i think Drakia just wants to say that you can use the code however you want. But not edit and release it under his name. You can modify it, but release it under your own name. isit?
     
  21. Offline

    Drakia

    They can do whatever they want with my code, as long as they do it under a different name than my plugin. If they want to take Warpz0r and release it as "WarpAll" or some other stupid name they can go ahead, but I won't support it.
    In regards to Afforess's statement:
    "If it's open source, I don't think the author has much say in what other people do with the code."
    You're right, people can do whatever they want with my code and I can't complain, that's the point of open source. I can however ask that people not use my plugin name or claim that their build is my plugin.
     
  22. Offline

    eltorqiro

    I just think it's rude if a developer has specifically asked that you don't release CI built artifacts in a public repository, regardless of the reason, and you say you are going to do it anyway because he has no right to his own work.

    People seem confused as to what open source means. There is no such thing as some overrding "Open Source Rule of Infinite Ruleness". It is a blanket term which covers thousands of different licences, some very restrictive, and some not. Specifically, it is not the same as being in the public domain - the code is still owned by the author, and can be licensed however he wants, including disallowing distribution of builds. I'd recommend everyone put some kind of license in their source just to make sure people understand that, even if it's a completely unrestricted Creative Commons license. This idea that someone thinks they can take your work and do whatever they want with it regardless of what you say is just plain wrong.

    Drakia probably hasn't got a license in his source, which some people may think means the work is automatically in the public domain. On the contrary, it means that in fact each use of the source must be explicitly granted by Drakia. So it's not a case of "no license = do whatever you want", it is more like "no license = must ask author specifically if what I want to do is ok". In this instance his specific instruction to you not to distribute builds of his product is all the notification he needs to give.

    Anyway, beyond all this is the fact that common courtesy would dictate that when a plugin developer asks you not to do something with his code, any reasonable person would oblige.
     
  23. Offline

    Afforess

    You do realize that that is not what we are discussing. Almost every open source licence there is REQUIRES you give credit to the author. Not following the licence would be a copyright violation, and a felony in the US.

    What we are discussing is automated builds for plugins. Unless your licence does not explicitly cover distribution and usage, then there is nothing wrong with the OP building his own version of plugins. Again, unless it's restricted, the OP can also distribute the plugin, so long as the author is credited.

    I can not emphasize this enough. We are not talking about ripping off code without credit. We are discussing distribution, with credit. Even a licence as rigid as the GPL allows this.

    Please, enough of the ad hominem attacks and strawmen.

    Here's an automated ANT script from Eclipse. You will need to change the location of the libraries.

    Code:
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <project basedir="." default="build" name="Minecart Mania Core">
        <property environment="env"/>
        <property name="debuglevel" value="source,lines,vars"/>
        <property name="target" value="1.6"/>
        <property name="source" value="1.6"/>
        <path id="Minecart Mania Core.classpath">
            <pathelement location="bin"/>
            <pathelement location="F:/Bukkit/bukkit-0.0.1-SNAPSHOT.jar"/>
            <pathelement location="F:/Bukkit/craftbukkit-0.0.1-SNAPSHOT.jar"/>
        </path>
        <target name="init">
            <mkdir dir="bin"/>
            <copy includeemptydirs="false" todir="bin">
                <fileset dir="src">
                    <exclude name="**/*.launch"/>
                    <exclude name="**/*.java"/>
                </fileset>
            </copy>
        </target>
        <target name="clean">
            <delete dir="bin"/>
        </target>
        <target depends="clean" name="cleanall"/>
        <target depends="build-subprojects,build-project" name="build"/>
        <target name="build-subprojects"/>
        <target depends="init" name="build-project">
            <echo message="${ant.project.name}: ${ant.file}"/>
            <javac debug="true" debuglevel="${debuglevel}" destdir="bin" source="${source}" target="${target}">
                <src path="src"/>
                <classpath refid="Minecart Mania Core.classpath"/>
            </javac>
        </target>
        <target description="Build all projects which reference this project. Useful to propagate changes." name="build-refprojects"/>
        <target description="copy Eclipse compiler jars to ant lib directory" name="init-eclipse-compiler">
            <copy todir="${ant.library.dir}">
                <fileset dir="${ECLIPSE_HOME}/plugins" includes="org.eclipse.jdt.core_*.jar"/>
            </copy>
            <unzip dest="${ant.library.dir}">
                <patternset includes="jdtCompilerAdapter.jar"/>
                <fileset dir="${ECLIPSE_HOME}/plugins" includes="org.eclipse.jdt.core_*.jar"/>
            </unzip>
        </target>
        <target description="compile project with Eclipse compiler" name="build-eclipse-compiler">
            <property name="build.compiler" value="org.eclipse.jdt.core.JDTCompilerAdapter"/>
            <antcall target="build"/>
        </target>
    </project>
    
    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 12, 2016
  24. Offline

    Drakia

    @Afforess And again, I politely REQUESTED that my plugins not be included in this, if that is ignored it still puts the person running it in the "ass" category, though from the looks of it he's fine with listening to the wishes of plugin authors. You however, are definitely in the ass category, you think that even if a plugin author requests that their project not be included in something it's perfectly fine to completely ignore that request. The license may allow it, common courtesy however does not.
    Before about 20 minutes ago my code had no license, nobody was free to do ANYTHING with it, now however it is licensed under the GNU GPLv3, so yeah, you can technically take it, do what you want, use my plugin name, whatever. Again though, I do request that you do not release builds claiming to be my plugin, whether "official" or "development" as it will just cause headaches for me.
     
  25. Offline

    Afforess

    You can request all you want, but legally, I only have to follow the terms of your licence. If following the law makes me an ass, then change your licence. You have the power - so instead of complaining, take some action.
     
  26. Offline

    Drakia

    As I said, I just added a license, when you were claiming you could do what you wanted with my code I had no license, nobody could do anything with my code without asking me first, there is no blanket license on code that people put on GitHub.
    And yes, legally, now you can release builds, use my plugins name as long as nothing in the code is changed, etc etc. However I have requested that you not, atleast using the same name/claiming to be a build of my plugin, as it would just cause issues for me when trying to help users fix problems. If you do not comprehend that, if you can't take into account the wishes of a project author, then yes, that makes you an ass. I'm not saying you can't release it (Now, that is, you couldn't before) I'm saying I would prefer if you didn't under circumstances that may confuse my users.
     
  27. Offline

    Afforess

    I don't remember claiming you could do *anything*, as Bukkit plugins w/o a licence are GPLv3 by default (because Bukkit is GPLv3, so it inherits it). But I'm glad you licensed your work. I learned to licence the hard way, when people started ripping my code off, and denied taking it.

    I would like to say - I completely understand WHY you don't want people releasing tons of unofficial builds. I just want to make sure the distinction of what they can do, and what you want them to do is clear.
     
  28. Offline

    eltorqiro

    So you are offering to provide infinite support time for all the average joe users who download those builds and then start hassling the author? And you're going to repair his reputation when users start thinking his plugins are junk because the latest dev build they downloaded off your CI destroyed their world?

    Selfish, selfish, selfish.

    And if you are going to bring stupid semi-legal arguments to the table, at least get your facts straight. Copyright is based on a whitelist, not a blacklist. Licences don't say "you can't do this, that or the other", they say specifically what you can do and everything else is not allowed. If there is no license, then you must seek explicit approval from the author prior to any use of the work whatsoever. As I stated earlier, it is not a case of "no licence = public domain". Your assertion that it is otherwise just misleads people.

    We could argue this until the cows come home, but anyone who insists they have some god given right to do whatever they want with other people's work, contrary to the explicit wishes of the author, just come off sounding like complete pigs. Trying to justify that piggishness with an attempt at legal obfuscation merely enlarges the size of the snout.
     
  29. Offline

    Afforess

    Please read my posts before making wild assumptions:

    Again, PLEASE READ MY POSTS!

    If your licence allows modifications to your work, as well as the right to distribute it (As Darkia's licence does), then you have no room to complain. I have not made ANY attempts to hide my arguments through legalese. Misquoting me, and ignoring half my posts for easy attacks makes you look like an ass.

    Since reading comprehension seems to be a skill in short supply (I place the blame squarely on the shoulders of the American education system), I will try to summerize what I've said so far:

    I CAN FREELY MODIFY AND USE YOUR CODE, IF YOUR LICENCE SUPPORTS IT.

    I CAN FREELY DISTRIBUTE YOUR CODE, IF I CREDIT THE AUTHOR AND THE LICENCE SUPPORTS IT.

    I CAN USE THE SAME NAME AS THE ORIGINAL WORK, IF I CREDIT THE AUTHOR AND THE LICENCE SUPPORTS IT.

    In Darkia's case, which is what the debate started with, ALL 3 are allowed within the GPLv3 licence, and Darkia's complaints against it hold no real weight. Any complaint to the contrary is childish, since the plugin author can change the licence at his or her's will to better suit how others deal with their code.

    </debate>

    EDIT by Moderator: merged posts, please use the edit button instead of double posting.
     
    Last edited by a moderator: May 12, 2016
  30. Offline

    petteyg359

    That should be summarize, you silly victim of the American education system :p

    To summarize: There are potential problems with this and Drakia politely requested₁ you not include his stuff.

    ₁: Requested is not equivalent to demanded. This isn't a matter of licensing. It's a matter of respect. Have some, please.
     
Thread Status:
Not open for further replies.

Share This Page