Friday, December 9, 2011

Survey Results: 70% prefer closed source

Its not too late to voice your thoughts on closing the source.  I've finally had a chance to review the results and out of about 200 people who took the survey, 70% would prefer that I close the code.

I've been wrestling with this issue for a while and still have not come to a decision.  Here's what hangs in the balance:
  • Since the Autopoke scripts inception, it has been 100% open-source, using the GPL 2 and 3 licenses.  The latest version of the script (4.0.1) exclusively uses GPL 3.
  • Closing the source would mean that other developers could not learn from the work.  This includes both legitimate programmers who are porting the script to Google Chrome to Facebook programmers who may be trying to stop scripts like this from working.
  • Closing the source would not mean it's 100% secure against viewing.  Real developers can parse through obfuscated code.  It's harder, but not impossible.  (In fact, I go through Facebook's obfuscated code to create this script.)
  • Obfuscated code would be hosted remotely, making it less secure.  In order to properly shield the code from viewing, the code would be hosted on my personal site.  This comes with risks such as me having the ability to know who you are.  I would draft a very simple privacy policy (basically that I don't care who you are).  But doing this would allow me to block facebook.com from connecting to the site.
Despite the large number of people who would prefer that I close the code, I still lean toward an open-source solution.  I'm a firm believer that open-source is better since it allows everyone to learn and don't think that the benefits outweigh the problems.

I am still developing the Autopoke for the new version of the Facebook news feed.  PLEASE be patient.  I have a full-time job and I do other things besides computers.  This time of year is very busy for me.

6 comments:

  1. First, Happy Holidays!
    Secondly, thank you for your hard work with this script, I'm sure you don't get enough thank yous for this. In my opinion, I believe open source is the way to go for all the reasons you stated, as well as the fact that making it closed source would do little to prevent Facebook from viewing your code, if they want to view it they can find a way to access it. Going closed source would merely prevent legitimate parties from going about their work, while failing to prevent Facebook from going about theirs. That's merely my uneducated opinion, but I felt a comment would hold more value than a mere vote in a survey

    ReplyDelete
  2. *By "viewing" I meant Facebook has the time and money to sift through obfuscated code, if they want to

    ReplyDelete
  3. Omegas, you make good points, many of them I share and agree with. However, the one caveat that I would add is a closed source would allow me to write my own license, part of which would state "No employee of Facebook, or it's contractors, will be granted license to use this script in anyway. This includes all current and previous employees. Licensees who are hired after using this script agree to forefit their copy of the script and are no longer allowed to use this script." I am not a lawyer so I'd have to hire someone to write this up.

    But ultimately you're still right. They could find a way around the legal loopholes and still use the script.

    ReplyDelete
  4. I was going to come in to state what Omegas was already stating. Obfuscating and adding a restrictive license will not slow Facebook down. Closing source just means that other developers cannot learn from your work or continue it in new and creative ways (supporting other browsers, etc.)

    If Facebook obfuscated their code and changed their license to say "only use published API's for their documented purposes" would that stop you from making Autopoke? Well it hasn't so far.

    ReplyDelete
  5. Jim, my script does not use Facebook's API. I do not believe Facebook has an API that interfaces with Pokes. My script uses browser javascript, in essence simulating someone clicking the links that actually make the pokes happen. Without getting highly technical, as long as poking requires a mouse click and it isn't Flash, autopoking will always exist.

    As of now, Facebook does not have in it's Terms of Use that specifies the use of automated tools to perform common tasks. (The only specific mention of automated tools is for collecting information.)

    The reason why the up-coming version of the script took so long is because Facebook began to obfuscate their poke code, making it darn near impossible to find a work-around. It wasn't until a user pointed out to me that Facebook's poke feature was moved to their "Apps" page that made everything work again. But it would only be a manner of time before they obfuscate this page and make the autopoke obsolete.

    ReplyDelete
  6. its somewhere in the year 2013 i think its april but it feels like june here...and i was wondering how the hell am i going to poke back 15,000 friends ? yes i said 15,000 dont ask me how if i told you i would have to kill my codes :P.
    so when are we going to get a viable autopoke back i hope soon. im trying to create a macro poker but its giving me trouble about the wait time. it wont wait forever for someone to poke me again

    ReplyDelete