Developers: take care when making private plugins

Discussion in 'Plugin Development' started by caseif, Sep 15, 2013.

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


    This doesn't have much to do with plugin development, but I thought I'd try and send a message to plugin developers in the form of a story. A while back, someone (I won't name and shame) sent me a PM on BukkitDev telling me he would pay for a plugin. I added him on Skype, and he seemed like a pretty nice guy. After a month, he payed me the money I was owed for that month of work, and all was well.

    He had said he would pay on a monthly basis, and so a month later, when it came time for him to pay me again and there had been no mention of it whatsoever, I decided to ask him about it. He refused to pay me, on the grounds that he believed the first payment had been in advance (despite the prior month of work). We debated it for a bit, but he clearly wasn't budging. I ultimately decided to cut ties with him, as I most certainly was not going to keep working with someone who had absolutely no intention of reimbursing me.

    While I decided to stop working for this gentleman because of the issue I've just described, I was about ready to quit anyway. The reason for this: he felt as though he owned my time, and simply was not paying me enough for the work he expected me to do. Every single time I would sign on to Skype, he would be ready with another task. One after another; it never stopped.
    The message I'm trying to convey is that as a developer, if someone offers to pay you for work, demand payment in advance. Additionally, if you ever happen to do business with someone who thinks they own you, cut ties as soon as possible. No good will ever arise from that situation. I mentioned above that this person was paying me on a monthly basis. Only accept payments per-plugin, and make sure that the price is something you can both agree to. Just please, don't be the fool that I was. Take care when working unofficially.

    tl;dr: Don't make my mistake. Ask for payments in advance, don't work with people who try to overwork you, and find an agreeable price.

    EDIT: I reread this post, and realized that it may come off as a bit whiney, i.e. I created it just to complain about my misfortune. I'd like to clarify that that's not the case; I'd just like to warn others so that this doesn't happen to them.
  2. Offline


    Thanks for the heads up. Fortunately I don't make plugins privately so this won't be a problem (I decline all plugin requests)
  3. Offline


    AngryNerd This is great info to hear! Since I have uploaded my first big plugin I have been getting so many people asking for me to make them private plugins! There is one bad thing that you did not mention. If the Buyer tries to offer you a donation percentage. Some might think this is great but, what happens if you spend 2 weeks on a plugin and the server gets zero donations or they do not pay you. Someone offered me 50% Off all there donations to make a plugin pvp plugin that would take months to code. I denied because he would not make any down payments.
  4. Offline


    I had one offer me a high rank on his server, but I am Owner on my server and can do anything :)
    I don't want to get caught up doing other things for people and not have time for my own stuff.
  5. Offline


    AngryNerd Thank you for the headsup, but I usually don't get requests.

    But, I do got ALOT of "Permenent dev for my server", probally twice or three times aweek. I will be carefully about any payements (I usually never ask for money, moneys not my thing :p).

  6. Offline


    Small claims court: Go!

    On a more serious note, I've noticed that- in general- people requesting plugins have absolutely no concept of how much effort goes into writing a plugin, even the smallest/most trivial one. More than that, though- they have absolutely no concept of how much effort/foreknowledge it takes to write code in general. And on top of that, they think that just because it's "just a Bukkit plugin" it's somehow magically easier to write than any other scrap of code.

    The result is hilarious low-balling of how much people are willing to pay for a custom plugin. I had someone request that I write an entire quests plugin from scratch and exactly to his convoluted specifications. This would definitely not be a "one night + 2 liters of Mountain Dew" type thing. I did about an hour's worth of UML modeling and drawing up an ER model for the database backend and was ready to quote a price: $200. He flat-out refused, and stated that he wouldn't go past $15 for the plugin. Needless to say, I declined and sighed heavily to myself.

    Yes, $200 sounds like a lot to spend on a Bukkit plugin. And perhaps it is, but honestly, that's what my time is worth to me. I flat-out refuse to do commissions where I get paid less than the hourly wage I make at my part-time job working in IT for my university ($8.50 an hour). Because if you do the math, $200 is only about 20-25 hours of my time. And this plugin would take at least 20 to get it into a polished, release-worthy state, and would almost definitely take more.

    Beyond the simple math of cost divided by hourly rate, you need to take into consideration that when asking people to write larger plugins, you're either asking for someone with a lot of knowledge, or you're asking for a really shitty end product. Because just off the top of my head, for the plugin I mentioned earlier to go smoothly, you'd need someone who knows:

    * Java and the Bukkit API, to a high degree of competency (my 20+ hour estimate was assuming the person isn't asking dumb questions in #bukkitdev or googling for how to write for loops)
    * Data structures, because you're definitely going to be writing some custom data structures for this.
    * Algorithm design and analysis (the plugin wanted a waypoint/pathing system to guide you to goals, which would definitely involve graph algorithms at the very least)
    * Relational database design, since the customer wanted to use MySQL as a backend

    Just these four points eliminate (from what I've seen) over 90% of the devs who write plugins. You're asking for someone who's either taken a lot of university courses over this stuff, or has just spend a heck of a lot of time self-teaching. Then you're trying to pay then peanuts for their hard work.

    So, I'm going to agree with the OP and advise everyone:

    Don't do plugin commissions. By far and large, the people asking for plugins have no clue how much work and foreknowledge goes into writing plugins, and they are certainly not prepared to pay you anything near worth your time. If you need the money, you're much better off walking down to Taco Bell and asking for a bean burrito (for your sorrows) and a job application.
    AngryNerd, UnlikeAny, Chinwe and 4 others like this.
  7. Offline


    There needs to be some mechanic when you are a plugin author in the yml where you can log in online and stop servers from using your plugin.
  8. Offline


    That's already possible. You can set up an autoupdater and have it update a blank jar.

    Unless I'm stupid and you can't do that (which makes me curious about some plugins that do have auto-updaters).
  9. Since I'm helping people on the forums and making plugins people been asking me to make them plugins, and they would pay me. Well my answer was no, or I will do it for free. You may be wondering t'f dude if they want to pay then why don't just stfu and take the money? Well it's a bit cheesy but I just like helping people + developing plugins. And when making it for free they appriciate you much more, and also, when something doesn't behave like it was ment to be, they won't make a big deal about it. (Ps: Don't start spamming to ask me to make a private plugin for you, I will most likely say no at this moment since I'm busy with a big project)

    But at least you got payed once, stopped working with that guy so...
  10. Offline


    I get too many requests, have to turn them all down (no time etc).
    And indeed, I suggest you get the money first, then the plugin. What I once did was I made the plugin, showed it on a private server of mine, got payed, sent it to the client. That's also a good way of doing it (even though you still have the chance of him saying 'nah cya', but whatever. I also code for fun.)
    Axe2760 likes this.
  11. Offline


    Am I the only one who thinks $500+ is not much for a good plugin?
    Maximvdw and Xx_LeetGamer_xX like this.
  12. Offline


    OR or or..
    You can make locks in your plugins, accessed from a MySQL database. You can add something into the database to lock the plugin, and remove it to enable the plugin. Simple. I've used it in 3 of my private plugins in case people have refused to pay (which they haven't).
  13. Offline


    kreashenz Where did you put the password and details to the database?
  14. Offline


    Loogeh I was allowed to use a friend's one. Why do you ask?
  15. Offline


    kreashenz Because if it's inside the plugin, someone could decompile it and find the password, username, etc.. If it's in a flatfile then they could just look in there and find it, unless it was encrypted/hashed.
  16. Offline


    Its a perfectly reasonable price for the amount of time that goes into making it, I usually try and get $350 - $600 per private mini-game plugin I make for people.
  17. Offline


    rguz10 IMO it depends on the difficulty and the time it takes to make it. For example. If you were making a server a custom world generator then it should be something like $20-$30 p/h (my opinion) but if you're just making a simple kits plugin which takes < 20 hours. It should be more like $5-$15 p/h.
  18. My advice to doing plugin stuff on requests:
    • Don't take a monthly pay thing, if the person is ripping you off, it takes too long to find out ,and a lot of work.
    • Don't take a % of the servers donations, as you have no idea what donations actually come in.
    • Don't work "for someone", they finding the requests, and you doing the job. They can tell you one price and the "customer" another.
    Personal story about that last point:
    A guy found me and had some plugins he needed done for a couple people. Said he would pay me monthly, which ofcourse i refused after thinking about it. Then we settled on a price on 2 plugins. He didn't want me to and tried to stop me from contacting the "customers" directly, which made development slow and had to change what they wanted all the time because of bad communication. When i fanlly managed to contact the "customers" i thought i'd figure out why he didn't want me to contact them. I found out he charged 3 times as much as he told me. Turns out this 15 year old boy tried to make money doing nothing. Some time wasted, but lessons learned.
  19. Offline


    If you get payed via paypal make sure that you have your customer's emails at hand as he might request a refund via paypal. In some cases paypal just refund without contacting the seller if the story seems legit. So it might be worth waiting 45 days after you get your payment via paypal.
  20. Offline


    This thread should be sticky in my opinion since it's about a serious and up-to-date theme and could be useful as a guideline for some developers who are willing to make private plugins!
  21. Offline


  22. Offline


    I get quite a lot of requests as well - most people that request plugins obviously do not understand that coding a plugin is something that will take (a lot of) time and effort. There's been people asking me if I could make a totally new Factions plugin for them, just because they had this idea of a cool server they would create with it. It has become clear to me that having an idea is one thing, but actually realizing something is another. In fact, ideas itselfs are 100% worthless.

    I'd recommend everyone not making something for a random kid that wants to pay you a few dollars for your massive plugin, is promising you 25% of the total donation income or is promising you a staff rank (who needs a staff rank on some shitty server anyway?). When taking a request into consideration, make sure you know what this requester is capable of - can you really trust him, would he really be able to realize all those things he's promising? Won't he just give up on the project? Does he have any experience with hosting a server?

    Trust me, there are a lot of nice and great ideas, but 99% of the ideas will never become reality.

    Pick your requests carefully.
  23. Also, remember.
    If that guy actually made any money on donations, he would have money to pay you up front.

    Though, on a side note.
    As a server admin, I've had an equal amount of experience with bad coders working for me as you got with owners.
    - claims they got mysql knowledge, and then can't write a query or connect to the db
    - promises to have it done in 2 weeks, and then 8 weeks later there is still not even a beta done
    - demands payment in advance, and never completes the job
    - misunderstands the detailed description and does a completely different plugin. Please note, even the /commands and permission nodes were listed in the description but not included in the final version.

    Most servers, don't make a dime per month, most of the servers costs more money than they make in donations. All the staff, builders, mods, ops and so on usually works for free. So then paying 50, 200 or 500 USD is out of most persons league. I understand you may want to make a dime or two, and you feel it's like a job for you guys, while the rest of us does it for fun.
  24. Offline


    Locked. There is a good reason we do not allow advertising for plugin payment on Bukkit sites or services (including BukkitDev). You made the mistake of responding to someone breaking the site ToS.

    There are many pay for coder sites out there which help deal with ensuring you have proper contract and support for your time. I suggest you seek them out if you want to do paid development and report anyone attempting to break our site ToS.
Thread Status:
Not open for further replies.

Share This Page