AsciiMo – Where have I seen this before?

/*
asciimo.js – written by Marak Squires
saved from the internet @ http://patorjk.com/software/taag/

i had to do unholy things to make the original code work, seriously.
check the commit logs on github and you’ll see how much “code” i had to delete and refactor.
what’s left isnt really acceptable, but it does work.

let’s clean this up and get a more comprehensive font database!

— Marak
*/

How I picture code thieves

So that’s the header comment to a new open source project called asciimo. Though I’ve never heard of the project, it’s actually composed of the inner workings of my Text Ascii Art Generator (TAAG) web app. I’ve never heard of Marak Squires either, and I don’t particularly like his snarky comments about his difficultly in stealing of my work.

I’ve had stuff taken from this site. Sometimes it’s makes me smile, other times it makes me shake my head. This makes me shake my head. TAAG was the project I used to return to JavaScript. It was written with JavaScript knowledge I remembered from the late nineties. It was a project I did for fun. Hell, I didn’t even know what AJAX was when I first released it. Underneath it ain’t so pretty, but it’s mine and not some jerk’s ticket to getting a lot of attention for themselves.

I should probably be angrier, but I’m actually mostly just disappointed that someone did this. This is lazy and selfish. I develop all sorts of random stuff, and I do it for fun. If I see a concept I like, I’ll try and make my own version, I don’t take someone else’s. When I see something like this, it’s upsetting. Is it for some quick attention? So they can state that they’ve started X number of open source projects on their resume?

I was initially told of this project through email (thank you Jan), though I later found Marak’s self promotion on reddit (edit: screen capture from saved html file – he deleted some of his comments). His response to my comments was that because I didn’t explicitly put a copyright notice in my code that he could use it however he wanted (which I’m pretty sure isn’t true). He tried to say he did it for altruistic reasons, but FIGlet itself is open source, and there are already PHP modules available for people looking to use it in the browser (here and here).

Maybe in another universe we could have had some kind of cool collaboration, but at least in this one, Marak doesn’t seem like the type of person I’d want to collaborate with. He comes off as abrasive, self-centered and thoughtless. It’s a shame he has to use the ideas and work of others to promote himself.

Update: Aftermath
Update #2: After notifying github, my code was eventually removed from his site and project.
Update #3: TAAG was later rewritten with code reuse in mind and its core is now open source, you can download it here.

47 thoughts on “AsciiMo – Where have I seen this before?”

  1. I think it’s really funny you still don’t quite grasp the reason why I ported this library.

    You said, “He tried to say he did it for altruistic reasons, but FIGlet itself is open source, and there are already PHP modules available for people looking to use it in the browser (here and here).”.

    That is just funny. Thanks a lot of the write up, this will give me some great SEO. :-D

  2. Hello. I am not a specialist in copyright law in the United States, however I did take a class in college about the Mexican Federal Copyright Law. More than one article in said law expressly says that you own the copyright whether you declare it or not, and whether you register your work or not. Of course, declaring it and registering it with the government helps your case in the event of a controversy (such as a lawsuit), but, at least in Mexico, it doesn’t diminish your rights.

    Considering Mexican law regarding copyright is heavily influence by the USA due to NAFTA, I’d imagine the same thing applies for the United States and/or Canada. Thus, it is reasonable to assume that you, indeed, own the copyright to your own code.

    In any case, if you don’t mind sharing your work, you could add a GPL to the comments, or a creative commons license. And Marak could give you credit for your work. But I guess the issue is that this person likes stealing more than he likes doing the right thing.

  3. Second.

    If you want to protect your code, you must explicitly do so at the time of creation with proper licensing, otherwise it becomes public domain. Public domain and open source are some of the main reasons for the success of the internet. You should consider it a complement that someone thought your original idea was good enough to improve upon. It also appears the application that uses some of the original code includes credit to the original authors.

    …sharing is caring.
    viva F.O.S.S.

  4. @Richard, please stop. Code doesn’t just become ‘public domain’. It doesn’t matter if its ‘on the internet’.

    It’s not good there wasn’t an expliciet license, but in that case you can’t assume anything about it.

    I’d encourage anyone putting code up on the internet to be specific about how their property is licensed, it encourages others to build upon it respectfully.

  5. Well Marak,

    looks like something you can be very proud of. You shouldn’t act like bitching around, DoS attacks aren’t funny you know ;)

    As far as I know everything you code remains your code whether it’s public or not. It doesn’t matter if there is a copyright notice or not.

  6. In the Berne convention on Copyright it was declared that copyright is automatically granted to everybody for their work when the work is created. Unless explicitly stated otherwise, nothing is released into public domain by default, it is copyrighted by default. Almost every country in the world has signed the Berne convention on Copyright into local law.

    https://secure.wikimedia.org/wikipedia/en/wiki/Berne_Convention_for_the_Protection_of_Literary_and_Artistic_Works
    “Copyright under the Berne Convention must be automatic; it is prohibited to require formal registration”

    Even though patorjk did not include a copyright notice in the source file he owns the copyright, and all rights associated with it.

  7. You do not need to post a copyright notice to claim copyright to a work if you can justify that you are the original author of the work prior to another attempting to release it.

    You must explicitely state your intentions when releasing work if you intend to make it free/BSD/MIT/etc licensed.

  8. Just a suggestion but when preaching in support of copyright protection you might not want to embed content which is clearly the copyrighted work of South Park Studios.

    This is content that they created, own and worked hard to create. This is content which requires written consent or payment for reuse and I doubt your unedited embed counts as fair use.

    As a developer with some closed source projects I was ready to defend you and stand on your side of the lawn, at least until I noticed your hypocritical approach to copyright protections.

    Copyright can NOT only apply when you feel it’s in your best interest for it to do so, if you wish people to honor your demands of copyright protection then at least do the same for others.

    –Terry Valladon

  9. First I have to say I am VERY sorry. Why? Because I submitted Asciimo to HackerNews, adding a little more publicity to it. I initially found it in Reddit, checked it, thought “it looks like Figlet in the browser” and submitted to HN.

    And today I read this… I can’t delete the submission I did yesterday, but I have just submitted this post.

    As a fellow hobbyist programmer I feel ashamed by what happened.

    You are the copyright owner, make your rights stand out and shut the project down.

    Ruben

  10. If Marak had been any kind of an upstanding person, he would have credited you no matter what the copyright situation. And his first comment here is that of a jerk.

    Legally, you’re probably in the right, but that really doesn’t matter – as someone trying to look all open-source-y and cool, Marak is full of fail.

  11. Terry – I believe using the image from South Park would fall into the “fair use” category. It’s low resolution, a small part of the whole work, it’s used descriptively, and doesn’t devalue the value of the original work.

    So it doesn’t look like a problem to me, but I’m not a lawyer.

  12. Since the Berne convention was accepted by all countries of the WTO(mandatory step), and it requires no copyright notice to take place on any works, it is more than clear that your copyright was infringed.
    As for the south park image as long as it is only a small part of the original work and the owner of the copyright is cited clearly it will for sure fall in the fair use category in the united states(and so it will in most other more liberal countries).

  13. I’m all for open source, but if something is not explicitly stated as such, you need to contact the owner of the code before you “clean it up” as Marak proclaims so often.

    I think that the law is on your side and if anything, you should make an example of him and sue. He seems like the kind of person who will not apologise, or shut down his project now that you’ve objected, and he will probably do this to someone else in future.

    Basically, he’s a douche. Don’t sue him for the money; sue him for an apology and a guarantee that he will stop using your code!

  14. See the nodejs google group list for some of Marek’s other golden moments. He seems like an arrogant asshole.

  15. Hold on, everyone with legal opinions. Just because something is copyrighted doesn’t mean it’s illegal to read and use the code. It means it’s illegal to copy it.

    The test for having copied the code in the US involves seeing how many lines are different as well as how much of the logic is different. http://en.wikipedia.org/wiki/Software_copyright#United_States

    You can’t copyright the idea, nor the functionality. So simply because Marak used patorjk’s code doesn’t necessarily entail infringement. We’d have to do code diffs and review the design relative to patorjk’s creative originality, because if he was implementing known algorithms without contributing anything new, then mere code diffs will be sufficient to determine the infringement.

    If it turns out that there’s no infringement, then Marak would have been perfectly within his right to do what he did. And then the link back to your TAGG site would have been him being nice.

  16. Marak is violating your copyright, plain and simple. It’s infringement. He’s a fucking criminal.

    If he ever decides he wants a job, no INTELLIGENT company will hire his unapologetic, code-stealing ass.

    Simply put, copyright law declares that your code is yours and yours alone unless explicitly declared otherwise.

    he’s a no-talent thief, a hack, and a criminal. You’ll have the last laugh, as that worthless asshole will eventually find that nobody will do business with him out of fear of the massive liabilities that he is eager to create.

  17. (a) “Not YOUR Lawyer”: it’s copyright infringment, but it might not be criminal copyright infringment. The bar is higher.

    (b) patorjk: If he’s in the US, send a DMCA takedown notice to whoever’s hosting his copyright violation.

  18. Marak is the type of guy who uses other people’s stuff to try and get ahead in life. Trust me man, karma can be a bitch and don’t worry, he’ll get his.

    Bragging about getting SEO value and laughing about copyright violation probably isn’t the smartest thing either.

    Hopefully some attorney will take your case up as pro bono and teach this wannabe programmer a thing or two about the law.

  19. Sounds to me like this is the exact reason GitHub has takedown notice system in place to get code like this off the site.

    http://help.github.com/dmca/

    Code theft pisses me off as well. I had an open source app that someone else took and plugged it into their app that they sell and make some serious cash from. I had a stupid simple license “You use a significant portion code, all you have to do is acknowledge where you got it.” The twerp first argued that he didn’t use it and that the XML files was 100% the same because “there is only one way to do xml”. Later, when I pointed out he made the same spelling mistakes, added the exact same notes as my app, etc… he claimed “I didn’t use a significant portion.”

    *sigh*

  20. Apparently he doesn’t understand what a “nofollow” link is. :)

    And to Beagle—there’s a reason that “clean room” reverse engineering was developed. It’s a really iffy proposition to directly work from someone else’s code.

  21. I don’t understand. If the code is so terrible and you have to do “unholy things” to it, why not start from scratch?

    I’ve luckily never had anything like this happen to me. The worst was someone releasing an update to a project I had given up on and not telling me about it. To be fair, my site was down at the time, so I can’t really fault the guy.

    Anyway, congrats on making the proggit front page. Shame it has to be for something like this though. ;)

  22. I posted about this yesturday on http://badassjs.com/ and have since removed the post. It is not OK to copy code without attribution, especially if that code was not open source in the first place. I wouldn’t say that he is an “arrogant asshole”, but I will give him the benefit of the doubt and say that he may not have known better. Hopefully he has learned his lesson.

  23. I love how much this is getting twisted on the social media internet hate machine.

    I definitely gave attribution, several times, in several places.

  24. @Marak yes, and that is fine, except the code wasn’t open source so even giving attribution isn’t enough. You have to ask the rightful owner of the code before you use it if it is not open source.

  25. From what I can see, he hasn’t stolen your code – he has used some of it and rewritten a lot of it. It sounds to me as though you’re offended by his comments (which just seem like someone’s rather frank opinion) and are possibly jealous of the attention his project is getting.

    What could he have done better? It would have been nice to ask you first and he could have been more respectful of the person whose code he was using but neither of these are legal obligations. My non-lawyer impression is that it was fair use of your work (not just a copy and paste job) so he also wasn’t obliged to give you credit. He did.
    On the flip side, your use of the South Park image is IMO also fair use so you’re probably not obliged to give credit to the creators. You haven’t.

    Ultimately, what could have happened is somebody could have taken your code and used it unchanged and without credit. Instead, your creation has given life to a new, open source project that others can benefit from and also increases awareness of your own work. You’re not the victim of theft – you’ve inspired someone to build on your work who has then acknowledged you for it. I believe he should have been kinder in talking about your code but he at least tells the dev community that you’re the brains behind his project.

  26. This isn’t theft. You’re retarded.

    It’s like somebody making another MySQL driver and claiming they stole it because it accesses the same database.

  27. Well… I may have been wrong about the copyright information, but it is still a simple case of the following

    1. Most people who commented on this thread are just echoing each other.
    2. The original software is pretty much weak-sause to start with.
    3. This guy’s primary software projects are a couple of VB6 apps, he’s a weekend hobbyist.

  28. Marak: “I definitely gave attribution, several times, in several places.”

    I can’t believe this still hasn’t gotten through. It’s not the attribution, it’s the permission to copy, which you failed to obtain. After failing to obtain permission, you proceeded to put snarky comments in the code and your git commit messages. Then when he ranted about it, you came here and added insult to injury.

    Even if the code is crap, and even if, as Richard Arthur says, the author is a “weekend hobbyist”, he deserves respect, especially after you’ve benefited from building off of his work.

  29. What benefits?

    Wasting my valuable time working on a bullshit / fun project that the world can use freely?
    Wasting my money on server bills? (there are no advertisements or anything of the sort on the site)

    I make projects to help people, and I work hard on it. There is literally no personal benefit for me here aside from getting a bit of press and getting to showcase my coding skills.

    If Pat has a problem he can send me a DCMA notice. This is such a joke, we are talking about the most trivial non-important non-critical code ever, which is pretty much already removed.

    The internet loves a good villain, unfortunately I am no villain, just an asshole.

  30. Marak, go ahead and give Smeagol his precious back, lol, dude who originally wrote a stupid ascii art generator, go help a poor person or something, get off the high horse.

  31. I spent an enormous amount of time with copyright, patent and trademark lawyers, so even if I am not a lawyer, I can save you guys some money.

    The original code is fully protected by copyright, so unless the authro explicitly grants specific permissions for each area covered by copyright, copyright assumes that no rights were given.

    The new code is a derivative work. It does not matter that a lot of it was rewritten, refactored or cleaned up. It is still a derivative work, and hence, it is bound by the original developer terms. The new owner is entitled to his changes, but only to the extend that he has been granted permission to use, modify, redistribute or redistribute modified copies of it, which he seems he never got.

    If I was the original author of the code, I would open source the code, give it an explicit permission for others to alter/modify/improve the code and be done with it. Not worth fighting over it.

    What we have established though, is that the guy that copied the code is a dick. No amount of legalese will remove that fact.

    He could have trivially apologized, trivially removed the comment, and trivially given kudos to the original author instead of claiming that the original code was crap. Clearly, he lacks imagination, because anyone that does not agree with him being a dick is suddenly “a hater”.

    The use of the expression alone says more about him than the entire exchange.

  32. Thank you all for the responses, this has been an interesting read. Sorry about the delayed response, but I’ve been really busy today. I’ve read all of the comments and here are some quick responses to a hand full of them.

    @Hari Seldon – I’ve shared some of my apps on here before, and at some point in the future I may clean up some of the others and share them.

    @Terry Valladon – As others have stated, I’m pretty sure using the image is fair use. I thought it might make sense seeing as asciimo has an AWESOME-O theme. If someone from South Park Studios were to contact me and ask I take it down, I would. If you don’t see the difference between me using this image in this blog post and Marak taking my web app and using it for his open source project, then I wont be able to change your mind and we’ll just have to agree to disagree.

    @Ruben Berenguel – No worries, you sound like a cool guy.

    @matt – Heh, yeah, it is a plus in a strange sort of way.

    @Devon Govett – Thanks Devon :).

    @John Goewert – I don’t understand people like that, I guess they’re feel that whatever they can take is their’s.

    @Chris – I was wondering if anyone would notice that :).

    Everyone else – Thank you all for your commentary, it’s greatly appreciated.

    Also, as an interesting side note, it appears as if Marak is posting under at least one other user name in this comment thread (Richard Arthur – they have the same IP address for two of their posts, though Marak seems to use different IPs in later posts).

  33. I’m sure no one will believe me, but that was my friend who was at my house last night. I’m sure the new IP addresses are him at home or work or whatever.

  34. I believe you, Marak. Jerks often choose jerks who reinforce their jerkiness for friends. I’m guessing you’re not the kind of person it’s easy for people to say no to, and Master Arthur’s overly submissive comportment reflects that.

  35. Pat, pretend for a moment that I don’t know anything about code attribution, licensing, or ethics, and just tell me what the hell is going on.

  36. Pat, why not just send a DCMA request to github? There’s a very established system for dealing with your specific sort of complaint, and you’re not using it. I don’t get it.

  37. The author needs to take a step down off his high horse and breathe for a minute. No one took his super-secret plans for a new encryption algorithm or some new data modeling technique. The guy isn’t making advances in artificial intelligence, or hell, ANY advancements, really. This guy wrote a text to ascii generator ffs, one of thousands already out there available as a web application. So let’s keep that in mind while we’re all spouting holier-than-thou diatribes about the legitimacy of FOSS source code etc.

    I’m sure someone will invariably ask me how I’d feel if it were my code being taken in this case to try and prove a point, so I’d like to get that out of the way first. If I were in this exact situation, I’d consider this to be flattering. If someone actually thought it was worth the time to take my (yet another) text-to-ascii generator to make (yet another) text-to-ascii generator, then my code has already seen reuse and my work had inspired someone. This pet project of the author’s isn’t particularly inspiring in my opinion, so they ought to be flattered anyone took interest.

    I would not, however, feel that great about someone taking code using novel approaches, ideas, or otherwise that I had spent significant time in developing. Then again, I would probably take precautions to prevent my code being stolen. Honestly, this thing was not designed to be “theft-resistant” as it were; you’re employing what looks like most/all client-side javascript with little to no server-side backend. What did you expect?

    Also, for the record, I have also had people attempt to “steal” my web applications. Their attempts were unsuccessful as I had the client-side javascript closely coupled with a PHP backend that they could not replicate.

    They say a good worker never blames his tools, however in this case you might want to. You’re basically a plumber with a fireman’s axe at this point hacking together whatever works regardless of consequence.

    Also, for the record, I used both of your applications side-by-side, and while functionality is nearly identical I’d have to say asciimo wins in my opinion on aesthetics and UI. Just saying.

    TL;DR – Either:

    1) Quit crying about people stealing trivial web application code from you and learn some design patterns to prevent such occurances in the future.

    OR

    2) Keep crying while the internets laughs at you. Seriously, it’s as comical as those people in the 90s who disabled right click thinking their javascript was safe from view.

  38. So let me see if I’ve got this straight. If you declare someone else’s work to be trivial, that magically nullifies their copyright? This technique is gonna come in VERY handy, I think.

  39. I’m not casting stones over who’s code it is; I think plenty have done that already. I’m merely stating that it’s infantile to pitch this kind of fit over software that really is trivial as it’s a service offered a thousand times over on the internet. The guy’s acting like he just built skynet for christ’s sake.

    So let me see if I’ve got this straight. If you don’t read someone else’s comments, that magically nullifies their point? This technique is gonna come in VERY handy, I think.

  40. @Peter (Marak?) – I can see that you’ve posted under this name and under “omgwebapp”. You’re either Marak or one of his friends. This is completely childish. I haven’t felt the need to defend myself against your ranting, but I feel like I should say something for your own benefit: You’re the one who’s gone off the handle about something that could have been trivial. You’re the one who’s posted under different names. You’re the one writing long diatribes and then deleting them (when on reddit) or pretending they were from neutral bystanders.

    You probably don’t care, but the top comment thread at Hacker News points out that you have a history acting this way. I’m not going to convince you of my opinion by typing more, so I’m not sure what else to say, but you should honestly take a good look at yourself.

    @Isaac – I was holding out because I was hoping I wouldn’t have to. However, I just sent an email to copyright@github.com.

Comments are closed.