Enforcing the Creative Commons

The Creative Commons is a good thing. It allows people near and far to share creative work. It’s easy to use, easy to follow and benefits everyone. That is, until people start acting like jerks.

A few days ago I heard about PulpFiction, a new Mac news reader. It sounded interesting so I checked out its website to learn more about it. Eventually, I ended up on the PulpFiction resources page (May 25 screenshot) and immediately noticed a tab navigation that that looked very much like my CSS Tabs. I inspected the source code and realized that the tabs did in fact use my CSS, practically line for line.

My CSS Tabs are licensed under Creative Commons Attribution 1.0, which means that if anyone uses them, they must simply give me credit. However, no credit was given anywhere on the Freshly Squeezed Software website.

I contacted Freshly Squeezed Software, explained that they were using my code which was licensed under a Creative Commons license and asked them to give me credit for the code or remove the tabs from their website. Erik J. Barzeski, a developer at Freshly Squeezed, replied to my request and told me that the tabs were written and created fully on his own: he researched tabs, got an idea of how to write them, but had never visited my site before so there is no way that he could have used my CSS. He refused to give me credit in his source code or remove the tabs from his website.

His denial that he used my CSS made me compare our CSS again. If you take a look at the CSS source for CSS Tabs, you’ll see that there are six selectors and nineteen properties needed to create the tabs. In comparing Freshly Squeezed Software’s CSS with unraveled’s CSS, two of six selectors were named differently. Beyond this difference, every selector used the exact same properties in the exact same order. I don’t know much about calculating probabilities, but the chances of that happening by coincidence seem extremely low. Update: (2 June) Thanks to some mathematically inclined friends, I’ve found that there are 46,656 ways of ordering the CSS used in CSS Tabs.

After thinking through the situation, I came up with three different scenarios. Erik was:

  1. telling the truth and the fact that every selector used the exact same properties in the exact same order was purely coincidental.
  2. sincerely convinced that he hadn’t visited my site before although he did actually visit my site and use my CSS.
  3. outright lying. Update: (27 May) This refers to Erik lying about creating the tabs fully on his own, not lying about visiting my site. He very well may have never visited my site, as my tabs are available from several different websites, most notably Max Design’s Listamatic. However, it’s extremely unlikely that he created them fully on his own.

Now, I know Erik is smart. He writes a smart weblog and creates smart software for a smart company. So I can’t figure out how or why he would believe that he didn’t use my CSS since the chances of our CSS mirroring each other are so low. He was either lying or able to channel my CSS into his code by some act of God. I think it was the former.

Not only was he lying, but he refused to follow the terms of my Creative Commons license by giving me credit for my work. I found that upsetting for two main reasons. First, giving me credit requires almost no work. A simple “CSS based on unraveled CSS Tabs” in the source would be fine. Secondly, Erik is a developer who must understand the importance of free software to the development community. Yet he completely disregarded my Creative Commons license.

I may not be able to enforce my Creative Commons license, but I can refuse to support developers who don’t respect the work of others. If you value the Creative Commons, I ask that you do the same.


  1. There is another possibility. He took the code somesome else, who took the code from you. Not that it makes it any better, but with the amount of client-side code that gets “shared”, I see this as a very real possibility.

  2. Ron: I considered that. He said that he wrote and created them fully on his own. Whether he took the CSS from my website or from someone else, he couldn’t have (realistically) written it independently.

  3. Who the hell cares? Honestly.

    You have, I have, and everyone else has lifted a line of code to simplify a process.

    On top of that, CSS is so absolutely completely horrendously screwed up, that when trying to find a working ‘hack’ or “work-around” can take forever.

    So he lifted your menu, and didn’t give you ‘credit’. Ultimately, who cares?

    When you start typing your ‘html’ for the ‘internet’ do you give credit to Tim Berners-Lee at the bottom of the page? No, why? Because Tim wasn’t a dick enough to put his ideas under a CC license.

  4. I’ve had the same happen to me, except that my code wasn’t under license at all. The copy-cat claimed he was the author of the code and announced it to the world as his own work. The same order and identifer name co-incidence. Beyond that, I had a bug in the code, which also existed in his code. Oh well, life goes on. :)

  5. Frankly, it surprises me that he would deny copying from you, or whoever. Doesn’t seem like something Erik would do. But the odds that he wrote (partially) the exact same code, line for line, in the exact same order, is way, way beyond improbable. He might not have copied you, he may also have copied someone else, who in turn copied off of you. But he cannot possibly have written the same code, line for line, in the same order, as you have, by chance.

    Him changing the name of the selectors since you contacted him only makes it even more obvious that you are right.

  6. After reading a bit more about (United States) copyright law, I am almost certain that your particular expression is protected by copyright law, and that you can enforce the license by suing for copyright infringement (if you choose).

    Again, I’m not a lawyer. If you want real legal advice, I’m afraid you’ll have to pay for it.

  7. Chris: Eric Meyer’s tabs, which he created independently, are distinctly different from my tabs in their CSS structure and properties although they look very similar visually.

  8. It isn’t just the name of the elements, but EVERY property of EVERY element in the same order… it does seem fishy.

    CC, like any other good license, is only as enforceable as we have time and resources to pursue infringements, but I agree that the best enforcement is to advertise it in just this way.

    I would have posted some CSS directly in your entry to make the piracy clearer to folks.

  9. Lucky us nobody has put divless design based on #main #content #menu #navigation #sidebar under the creative common license. Or the use of a hidden class for the skip navigation link.

    We would all end up with a separate page to give credit.

    He’s also using the rounded-edges technique, maybe he should give the creators of those credit too ?
    Or should he give the original authors credit, who originally made those things using table based layout ?

    The visual result of the navigation tabs, don’t look unique either. There are a few ways to make those tabs in css and probably they all have be done before, does this mean that from now on everyone should give credit to the one who’ve done it first ?

    In my opinion what matters is if the design looks like a complete rip-off, in his case I can’t say it resembles anything I’ve seen before.

  10. Rrrright, (sorry, Eric). I had no time to check the code, but they look very similar visually indeed.

  11. I think everyone who is missing the boat here obviously has never had their creative work stolen so blatantly as Joshua’s was.

    Nothing pisses a designer off more than to visit someone’s site and see that they are using your exact CSS. Guys, the rules are even in the same order. He stole it. There’s no question.

    What I think Joshua is even more worried about in this instance is the undermining of the Creative Commons copyright code. Many people in the creative community (designers, artists, musicians, writers, etc.) use CC because it is a friendlier alternative to strict US copyright laws, and they’d like others to be able to work off of their own work, to better the community as a whole.

    What happened here is that someone stole a piece of creative work (forget that it was *just* CSS for a moment), they didn’t abide by the terms of the copyright, and now there is a situation which needs to be rectified.

    What if someone stole a lithograph you had produced, scanned it, traced it with Illustrator, and then re-sold it? How is this not different?

  12. The pulpfiction site now says this in its source:

    These CSS tabs were developed with the help of the sites listed below. You are free to steal them without giving any credit whatsoever. Enjoy!

    Other useful tab sites:
    http://unraveled.com/projects/css_tabs/ (who incorrectly believes the tabs were stolen from him)

    Also look for O’Reilly’s upcoming “CSS Cookbook.”

  13. And now looking at the CC license Josh has used, Eric has violated it by more than just failing to give credit. In fact, Eric has violated each of the conditions in the license. He has also used the covered code in a commercial site, and in reusing the only-slightly-modified code he has failed to cover it with the same license. And now, with the new message in the source code, he flaunts his infringement! I don’t know Eric, but it seems that he does not play well with others.

  14. That’s not the correct license as listed on Josh’s CSS tabs page.

  15. Rob Halff: “Lucky us nobody has put divless design based on #main #content #menu #navigation #sidebar under the creative common license. Or the use of a hidden class for the skip navigation link.”

    You can’t “put divless design under a Creative Commons license” because you can’t copyright an idea. You may have copyright on a specific tangible expression of the idea (e.g. a specific implementation or design using the technique). In this case, no one else can copy your exact expression except under licensing terms of your choice.

    The Creative Commons licenses are copyright grants. They allow authors of copyrighted works to grant permission to copy the work when certain requirements are fulfilled. Without the license, it would be illegal to copy the work at all.

    Specific CSS techniques may or may not be patentable (in the United States, at least), but they are definitely not copyrightable.

  16. I have tabs very similar to yours on my site, and I can promise you that I have only seen your site this first time now, because of a link I followed on photomatt.net. Are you going to sue me as well, because my tabs are similar to yours?

    I am all for using a CC to protect your own site and its contents, but if you are going to freely give away markup examples to others, then it should be entirely free.. and trust that if a person likes and uses your markup in some way, and feels that they owe you something, then they will credit you for that. If not, hey.. that’s how it goes.

    That’s what the view source button is there for, in my opinion. That’s how we all learned and like someone previously said, who cares. I mean, you should be posting code examples for people to learn and give to that cause. Not expect for people to give explicit credit to you for using something that is so simple as markup.

    If I genuinely use your code… in a big way, or basically verbatim.. then I will give props where its due.. its the right thing to do… but if I glance at yours because its similar to how I want mine, but then go onto tweak it and massage it.. and make it mine… then it is mine… get over it.

    What’s next, are you going to patent the <blockquote> ?

  17. And you know where he probably got that from, btw?


    Which has nothing on there about your stupid CC.

    I’m sorry, but you’ve pissed me off. 8-(

  18. Okay, look… Maybe this guy did steal this code, I don’t know. But, the code in question was put up on a “how-to” website and it was oringally on there (up until today) without any reference to a CC license.

    So, technically, even if he did “steal” this code, he could have taken it from the Listamatic site which had nothing on there about atribution, etc..

    So he technically would have dont nothing wrong.

    Now, for someone to contribute markup like this to a “Help/How-to” website with no restrictions listed anywhere on it use, and then claim that when someone uses it, that they are stealing, is both ludicrous and wrong. Not to mention a really crappy thing to do.

    I respect that you want credit for something that you have done, but in this case you let the cat out of the bag and now you are slinging some dirty comments around after the fact, and I just think its a pretty underhanded thing to do.

  19. Yowsers! Peeps get mad don’t they.

    If he did steal it, he’s a dink. If he didn’t, then he probably copped the code from a book, expample code from a site, or some tutorial somewhere.

    I think that if you want your code to be CC, then you’re going to have to make sure that it is unique to yourself so that anyone looking at the code will be instantly aware that you wrote it.

    I don’t lift code verbaitum, but I do learn from looking at other peoples code. And I probably hack parts of other peoples code without giving them credit. I probably would if I thought about it, but I am usually so happy by the time I get whatever I was working on to work, that I don’t remember to do it.

  20. Todd: well if there is nothing about a “stupid CC” he can’t copy it at all. If nothing is written about it in the license, you are not allowed to copy, ditribute or modify it, simple as that.

  21. “http://css.maxdesign.com.au/listamatic/horizontal11.htm
    Which has nothing on there about your stupid CC”

    Open your eyes Todd, it helps. The CC license is on that page as well.

  22. Hmm, the source code over at the PulpFiction site isn’t at all identical to the source code you claim is from the PulpFiction site.

    Did you in _any_ way modify the source code from the PulpFiction site or did you do a direct copy-paste?

  23. I would imagine he probably changed the code for his tabs and got the code from somewhere that doesn’t feel inclined to put every little thing under a CC license and that don’t try to enforce something that was after the fact.

    Other sites like: http://diveintomark.org/public/tabs-example.html

    Look familiar? Yup…

  24. Todd, Joshua has had the Creative Commons copyright notice on all pages of his site since the last time he redesigned, which easily predates his CSS tabs example.

    If PulpFiction did take it from another source which did not have the CC license, then this weblog post wouldn’t be here, and Joshua wouldn’t have given it a second glance. But he didn’t, he took it from a copyrighted website, and now here we are.

    Joshua didn’t contribute it to to a “Help/How-to” website — he posted it his CC-licensed weblog in order to show people what he came up with. Was it helpful? Very much so. Is the CSS copyrighted? Sure is.

    I don’t understand the debate here. You run a web design business, what if someone ripped off your hard work? I’d think this issue would be a no-brainer for the design community, but I guess I thought wrong.

  25. Mark Pilgrim’s CSS tabs are nothing like Josh’s, well, my mistake, both of them demonstrate tab navigation in CSS.

    If you look at the CSS for Mark’s page, you’ll see that he relatively-positions his tabs via em-spacing for accessibility and text-resizing issues. Josh’s tabs don’t use ems.

    The point is not that these tab examples look familiar, hell, every tab navigation that I’ve seen looks pretty much the same. The point is that the underlying code is different and unique, thus, setting all tab navigation examples apart from the rest of them.

    Visually similarity is not the issue. The issue is with the code.

  26. NO, I think the issue here is that the code was posted in other places than just his CC protected website. In these other places, there was no mention of his CC license. So, if the guy had taken the code from there, and used that, then there is no issue here.

    But, Joshua is lambasting this guy and in essense claiming he is a thief (which is about the worst thing you can be called in this biz) and all this over something that was out in the wild already, so to speak. Without truly knowing the source of where this guy got this tab code from, I think it’s awfully presumptious to claim theft.

    This is not like he viewed Joshua’s portfolio page, saw something on there that he liked, and then lifted it and put it on his site and called it his own. This was sample stuff put out there with the intention to help people learn.

    I mean, I just perused through a bunch of sample code that I had downloaded in the past, and I found that I do indeed have Joshua’s example from the Listamatic site in a folder. This was put there a long time ago (and LONG before today when a CC license was attached to it), and it is something that I do, when I run across examples that I feel I may want to use or expand from in the future. They are usually a means to an end, and offer a shortcut.

    I guess I am next on the list to be mentioned here as being a thief. [rolleyes]

  27. Max Design has always clearly attributed my CSS, which is what really matters here. If the attribution is there, inclusion of the Creative Commons license is less important. However, the CC license only appeared on Listamatic this morning after I asked Russ to include it.

  28. I understand why Joshua is hacked. I’ve had my site ripped of lock, stock and barrel a few times. In fact if you look hard enough you’ll see old versions of my site out there…it once forced me to redesign.

    I mean there is little I can do ‘cept point it out, and I don’t worry to much about the code at all. I’m more concerned with presentational rip offs, so to me this wouldn’t be a big deal as tabs like that are everywhere.

    BUT — I’m not Joshua.

    He has every right to be pissed and request that the offender give him attribution, no matter where he got the code. If he is using the same code, and if Joshua can point out that it’s his and under a CC license, then this guy should either change it or give him attribution. Period?

    I don’t know. It’s a sticky issue. This guy could very well have got this code elsewhere, and if so it would be really harsh to call him a “thief” (although I don’t think Joshua called him a thief, I think the term was “liar”) — now I can’t imagine he created it himself, as that would be quite the coincidence, but is it “wrong” to borrow (steal) code?

    If so than I think we’re all guilty. But, and this is a big but, borrowing code and tweaking it to your use is one thing, and that doesn’t seem to be the case here.

    If I was this guy, I’d pull the code and make damn sure I had something at least semi-original in there. It comes down to professional integrty. Borrow code to learn, hell steal it to use as a place to start, but for heaven sakes at least try and make it your own, and if you don’t — give credit where it’s due.

    We all use someone else’s code at some point. Heck I use javascript that I didn’t write all the time and guess what? I give props to the folks who created it.

    What really gets me in this is this guy Eric(?)’s smart ass remarks in his comments. If you are going to take the time to do that, why not recode it or give Joshua his props?

  29. Re: http://blog.zog.org/2004/05/linxx_1.html

    What I said is (a) Joshua throws a hissy fit; (b) he’s completely right to do so. What the PulpFiction guy did is scandalous.

    The point is not that he copied the CSS, which let’s face it everybody does; the point is that he lied about it.

  30. …the very least he could do was to leave a comment in the css file itself, something like I did at Formaldehyde Europe.

  31. Na wat kerfuffle op Unraveled over het al dan niet stelen van CSS staat plots dit in de source code van de desbetreffende pagina op Freshly Squeezed Software: /* These CSS tabs were developed with the help of the sites

  32. Enforcing the Creative CommonsAh. Perhpas not so good….

  33. Todd, look at the Listamatic CSS tabs page that you mentioned above — clearly you’ll see Joshua’s website attributed right in the example.

    And it doesn’t matter if Joshua posted the CC license on that specific CSS tabs page today or not, the CC license is on every other page of his website, protecting all pages therein, therefore it is not to be disregarded.

    Why is this so difficult to understand?

  34. It’s difficult to understand, because it was posted on a website that mentions nothing about any restrictions about the use of the code on its pages.

    The fact that its listed as under a CC license on Joshua’s site is irregardless. Until today, the code listed on Listamatic did not have any restrictions on its use. period. That code had been there for a very long time without any restrictions of its use. Today, after this blog posting, Joshua asked that his CC license be put on there. That is after the fact, and if that code is being used on a website somewhere, before the CC license was in place, then I don’t believe there is any way to force someone to put attribution for its use. Even if there is, its still pretty crappy to go after someone on this, because as I said earlier, this was put out there with no restrictions, and now those terms have changed all of the sudden. (I am not talking about the CC that is and has been in place on this website but specifically the Listamatic website)

    I am not defending this guy’s actions, nor am I in support of people taking code all willy-nilly from websites and disregarding people’s wishes. But clearly, this is not the case here, and I am simply bringing it to attention, that is all. The fact that this guy may be lying about his use of the code is one thing, but technically, I don’t think he had to attibute this because of the items I mentioned above.

  35. Todd: “NO, I think the issue here is that the code was posted in other places than just his CC protected website. In these other places, there was no mention of his CC license. So, if the guy had taken the code from there, and used that, then there is no issue here.”

    Todd, you can’t copy code just because it’s posted on a how-to site. You can copy the techniques and use them to write your own code, but you cannot reuse someone else’s (copyrightable) code without the author’s permission. Publishing something in a how-to article does not in itself give you permission to copy it.

    If the code’s author says something like “feel free to use this code” then you can go ahead and use it. If the code is available under a CC license, then you can use the code under the terms of that license. If you have not received any license or permission to copy the code, then it is illegal for you to copy it.

    Of course, if the code in question is not protected by copyright (because it’s not sufficiently “creative” or “original”) then there’s no need to get the author’s permission. As I said above, I think that even this small CSS tab implementation is copyrightable in some jurisdictions. I’m not a lawyer, and this is based only on my own non-expert readings of the statutes and case law. You may not like this — I’m not sure I like it myself — but it is the law.

    You seem to think that adding a CC license is a way to make a work more restricted. Actually, the CC licenses can only make the work less restricted. The CC license gives you permission to copy the work in ways that would be forbidden by law without the license. The licenses explicitly states that they do not restrict any copying that is already legal (see section 2 of the license text).

    “Until today, the code listed on Listamatic did not have any restrictions on its use. period.”

    That’s false. Under current copyright law, all original works of authorship are protected unless the author gives explicit permission. If there was no explicit permission or license, then the code is restricted.

  36. Wow! I can’t believe some of you are actually taking Erik’s side? The cut and paste stealing of code in this case is amazingly obvious. Suggesting otherwise means you are incapable of being objective.

  37. Okay, I will admit I am not a lawyer or even play one on TV, but I still think this pretty crappy and that’s all I will say.

    Bring on the pitchforks and the legal teams, we got a web desiginer to go burn! Hip Hip Hooray!

    [color me disgusted]


  38. Its quite posible the line for line thing could have happend.

    I’ve done it before, and CSS tabs is something that
    a) isn’t that hard
    b) be is covered.. everywhere.
    c) doesn’t require that many properties.

    I’ve done complex C++ functions and have ended up doing things exactly the same way as someone else, its really quite common.

    At the end of the day… if he did lie, then you’ve caught him, he’s an ass, but oh well move on. Calling it ‘improbable’ is rather over-emphasizing it, unlikely but possible is more like it.

  39. Ok, you had me there until I looked at the CSS. He copied tabnav, tab1, tab2, tab3, etc. from you? And it’s improbable that he could come up with these incredibly unique names on his own?

    I think in future you might want to be more original with your selector naming if you want to protect your CC rights…

  40. Oh, I use these tabs for a while, I found the code on Eric A. Meyer’s Minimal Markup, Surprising Style (http://www.meyerweb.com/eric/talks/2003/commug/commug.html) page. Who is the author then? I gave him the credits for it.

    Confused Chris

  41. Is this piece of CSS even coprightable? I’m a web developer, and I know that a significant amount of thought and testing is required to come up with new CSS techniques like this. However, as you say, your CSS tabs “use very little CSS” and the CSS that they do use is very basic and functional. I’m not a lawyer, and I don’t know enough to tell whether your expression of this technique counts as a “literary work” under copyright law in your jurisdiction.

    It seems that the originality of your CSS tabs is more in the technique and engineering than in the expression (which follows pretty much by necessity from the technique). On the other hand, copyright law seems to be very generous in granting copyright to almost any “original work of authorship.”

    If you do have a valid copyright claim, you can enforce the license by suing for copyright infringement. If the work is not copyrightable, then you are correct that you cannot impose or enforce a copyright license.

  42. An unpleasant comment posted here, ostensibly written by me, was in fact written by persons unknown, who signed with my name and url — I guess as a prank.

    I didn’t write the comment. I hadn’t seen this page. I wouldn’t write stuff like “Get a freakin’ life, it’s just code.”

    Not to make a big deal and not to take the page off-topic, just to point out that annoying comments posted here under my name were not written by me.

    I can’t prove THIS post is me, come to think of it. Hmm. Okay, there will be no issue of A List Apart this week, because of the American holiday weekend. I wouldn’t know that if I was someone pretending to be me.

    This is getting metaphysical.

  43. >Oh and Zeldman - If it’s just a “PIECE OF CODE”,

    I didn’t write the comment you’re responding to.

  44. Editor’s Note: The following comment was forged. See Jeffrey Zeldman’s explanation.

    Can we all just get a life? It’s a freaking piece of CODE. You cannot copyright a freaking algorithm. Anyone with an ounce of CSS skill could create these tabs. You did not invent the lightbulb, your tabs are not all that important.

    Feel flattered someone would reuse your code in the first place.

  45. Most people are obviously missing the point here. Joshua spent his own time developing a technique for creating nice looking, well designed, CSS tabs. Instead of keeping this technique to himself where no one benefits, he publishes the work to his website under a Creative Commons license. A license that allows for reuse and derivative works with the only exception being that you must give the original author credit.

    Sounds simple enough, right? Well, it could have been.

    Had Erik actually “borrowed” (for lack of a better word) the code and used it on his site, all he had to do was include a reference back to Josh’s site, giving him the necessary credit. Everyone’s happy, and both parties are satisfied.

    People who would then visit Pulp Fiction’s website could view the source, see the link back to Josh’s site (unraveled.com) and possible see more great work Josh has done. What if the visitor had a suggestion or an improvement for the way the CSS Tabs could be implemented? Should they voice his/her thoughts to the “borrower” or to the original author? By sharing their thoughts with the original author instead of the borrower, the methodology and source code can be improved upon and re-released to the public. Everyone benefits in this example.

    But that’s not how it looks like things have progressed.

    The trusting person inside of me wants to believe Erik crafted the CSS code on his own, but comparing the code line by line really blurs that distinction. If I just looked at the code alone - not knowing any more of the story - I’d have to say the CSS was blatently ripped off. It isn’t just the name of the elements, but EVERY property of EVERY element in the same order… it does seem fishy.

    If the code was stolen, or even if Erik (the Pulp Fiction devloper) had gained inspriation from Joshua’s work he could have done the right thing and gave Josh credit.

    We may never know who is telling the truth here (or who is lying for that matter) but the point being Josh believes his Creative Commons rights have been infringed upon and took that matter up with the copier [erik]

    Imagine if you will of what this probablem does to the mentality of the author’s thinking. If you labored over something, only to share it with the world and then later have it appear on someone’s else’s site almost exactly the same, I bet you’d think twice about sharing anything ever again.

    Creative Commons Licenses (and licenses, copyright, and trademarks in general) were created to keep theft and this type of undermining behavior from happening, while at the same time providing the author protection and giving him/her the power to defend the intellectual property value of their work.

    What this example illustrates is how one person’s selfish and arrogont behavior (regardless if he’s lying or not) can damage the community in whole’s “share and share alike” mentality - that is the experience of learning from other people’s discoveries. As a Web Developer myself, I’ve only been able to learn some of the amazing techniques I have by learning from other people’s examples. However in every situation I always give credit back to the author, sometimes even thanking them in a person e-mail for the inspiration. Does that necessarily make me a better person? Maybe, but I know that I don’t lose any sleep at night wondering “if I did the right thing or not.”

    It’s doubtful any of us would have learned some of the amazing things in life we have if people never shared their own thoughts, experiences, and knowledge. It’s a shame that someone who has chosen to share their own creative works has to look over their own shoulder everytime they release something inspiring.

    Situations like this makes you wonder where else your work might be “commercially featured”.

  46. A while back I came across Joshua’s tabs via Listamatic. I wanted to use them for my parents’ commercial site. I asked Joshua, he graciously granted permission, and I used them with attribution in the code as well as in the footer of each page. At no time did I get the impression (from the Listamatic website) that any of the tab code listed was free for the taking. In fact, if I remember correctly, visitors are encouraged to visit the authors’ sites, so I find it hard to believe that even if the code was found via listamatic, that one wouldn’t know to whom the code should be attributed.

    Plus, it’s just common courtesy to cite someone if they inspired or contributed to your code.

  47. Well, it’s easy to tell that this is the real you.

    I thought that comment “you” made was quite out of character. However, I just thought i’d get my point across. From now on that comment I made is aimed at “mini-zeldman - the evil stalker version”.

    It’s a shame that people steal others identities…

    Anyways, sorry for the confusion.. it’s just hard to tell on the internet - as you pointed out in your post.

  48. Thanks, Robert. No biggie. Sorry if this clarification temporarily took the forum off-topic.

  49. Wow… it’s bad enough we had to have this whole thread about the code theft. Now we have identify theft!

    It’s staggering to think that people are so crass about some things. It’s also scary how some things get blown out of proportion sometimes.

    It’s unfortunate that there was a need for this thread to start in the first place. Views from either side of the fence are quite passionate, as can be expected on an issue like this.

    And then someone comes along and pretends to be “zeldman”, a person I didn’t know anything about until I stumbled upon “A list apart” after doing a b2evolution install. To pretend to be someone with as much credibility as he has earned is blatant identity assassination in the extreme.

    I can tell you that I would be hopping mad (woah… giving away my age again) if I saw a post from someone pretending to be me.

    It’s very sad that things have come to this. Maybe it’s time to put this thread to bed before more flames and identity thefts occur? Just a thought from an occasionally thoughtful guy.

  50. Regarding the Zeldman spoofing - I have always known Jeffrey to post as apartness when making comments, so it would have rung a few alarm bells in me anyway.

  51. There is quite a stir over at unraveled about code and even identify theft. You can check it out here. It’s a passionate and sometimes nasty thread with views from both sides of the fence. It’s worth reading.

  52. coincidences DO happen. have a look at the statistics for ‘clusters’ of cancer cases near telegraph/electricty pylons…

    some pylons have cancer clusters, some dont, if pylons did CAUSE cancer then ALL pylons would have clusters, or at least a statiscally significant number. the fact is some pylons do have clusters is pure coincidence but is published as fact, there are millions of pylons, some clusters… do the math.

    the same MUST happen on the net, there are only so many ways to write CSS, users of the same language - english, with the same objectives - will use the same names for selectors - in the same order, there are MILLIONS of web pages so i’m suprised it doesnt happen more often…

    …joshua i think you either hit a probability spike - reset your reality…

    …or he ripped you =)

    …jeff baby. take it as a compliment. ;)

  53. First, I’m no copyright specialist, but I was under the impression that scripting (HTML, JavaScript, CSS, etc), unlike programming, was not covered by copyright laws. Works such as design layouts are “protected”, but again if altered somewhat, it may become very difficult to challenge the “ripper” in court.

    Not all creative work is protected… For example, fashion designers’ work isn’t at all… I worked for a shoe designer and it was very frustrating to see the designs being ripped off all the time without being able to do anything about it. A type designer friend of mine told me the same applied to fonts. You can trademark a name, but no one can copyright the alphabet. Can you imagine, a typographer can take years to devolop a good type family! Yet, people use fonts all the time and don’t think twice.

    Even if you put legalese on your sites, with all sorts of agreements, it doesn’t mean that all aspects will be enforceable. Doesn’t matter if your guests agree or even sign it. Protecting one’s rights is a lot more complicated than one would wish.

    Finally, courts might understand copyrights when it comes to litterature, music and industrial design, but I’m not so sure they will apply the same fairness and seriousness to graphic and web design.

  54. Kevin, why thank you. I feel so much better now that you’ve had the chance to flame me, especially with such subtle self-promotion as you did. Excellent.

    Oh, I actually looked up the word and I found a most humorous thing:

    Irregardless is a word that many mistakenly believe to be correct usage in formal style, when in fact it is used chiefly in nonstandard speech or casual writing. Coined in the United States in the early 20th century, it has met with a blizzard of condemnation for being an improper yoking of irrespective and regardless and for the logical absurdity of combining the negative ir- prefix and -less suffix in a single term. Although one might reasonably argue that it is no different from words with redundant affixes like debone and unravel, it has been considered a blunder for decades and will probably continue to be so.

  55. One thing I have noticed lately is that a lot of people learn a lot of there code writing style from the same places and calling something like a navigation box a “navcontainer” is very common. Seeing a tabbed navigation and then seeing the css named “tabnav” seems logical and that there is a very good chance that someone else would do the same.

    I also write almost all my CSS properties in a certain order. I haven’t busted out the task force to confirm this but I have a feeling other designers may do the same. Example) Inside-Out = font-padding-margin-border-etc.

    Maybe I’ve been working with the same people to long, but it’s seems like it could be almost common for code to be the same like that.

    BTW - Love the site, let’s try not to make it an English lesson please.

  56. Robert:

    I am still not convinced that scripting is protected. I don’t believe scripts would fall under computer programs, nor literary works. They’re simply a pre-determined open-source set of instructions to tell browsers how to display pages. By altering linked images, colours or element positioning, one can easily end up with a different design, or alter it sufficiently to not be considered infringement.

    Names, short phrases, etc are not protected (not in Canadian copyright laws anyway). This would include I suppose tag and file names. To protect names or short phrases, one would need to apply for a trade-mark.

    Don’t get me wrong, I do feel for Joshua. It has happened to me too. I’m just trying to distinguish what is “etiquette” and “legal”, and learn a few things in the process.

    Perhaps we should set up a fund for Joshua to sue his “ripper” and see how far it does go. This could be a good thing for the design community as a whole, since we could all learn from the experience and set some kind of records. To my knowledge I don’t think there has been any cases involving web designs copyright protection, hasn’t it?

    Just a (second) thought :-)

  57. Followed the link on photomatt.net to this post. When I read the name Erik J. Barzeski, I had to laugh. This name rang a bell from 1998!

    If it is the same Erik, he posted a link to his “review” of GoLive Cyberstudio 3 to a Cyberstudio mailing list requesting that list members give him reason why he shouldn’t give the app 2.5 out of 5 stars. He had a hard time dealing with criticism.

    The threads related to this were classic! You can read them in the list archives here:

    Enter in his last name and change the starting date to 1/1/1998. I can’t really believe I remembered this!

  58. I shall post the link to the relevant legal information very soon. Sorry, i’m in a rush.

  59. I have been participating in a rather heated debate over copyright issues(specifically Creative Commons Licensing) and how it pertains to web markup and styling over at unraveled.com. While this debate has been very lively and several excellent issues …

  60. Todd, you’re completely correct.

    If there’s a site with tidbits of code, and it is nowhere stated that that code is protected (like listmatic before yesterday), I think it’s understood that it’s fine to use. This is not going to view-source and copying/pasting, it’s looking at a tutorial and using code from it.

    I agree wholeheartedly that one shouldn’t steal source from another site, but this was from a site with scraps of code. Come’on people. This is how I learned javascript and css and probably how you did too.

    However bad of pulpfiction it is to not give credit, let’s look at what Josh did:

    1. CSS tab code published on tutorial page with no license specified.
    2. Someone takes code and uses it.
    3. Joshua demands that the license (which was not specified) be respected.
    4. Joshua puts license on page to make it look like it’s always been there.

  61. no one: your account is half accurate.

    What you got right: 1) the CSS was originally available on a page with no license, and the license was added later. 2) that I demanded the license be respected.

    What you’re speculating: that someone took the CSS from that page. He might not have taken it from that page. It may have been taken from one of several different sites.

    What you got wrong: 1) that the license must be present to be respected. Legally, it has be present. Practically, it shouldn’t have to be present, and people should just be nice. 2) that I put the license on the page to make it look like it was always there. I clearly stated in my comment above that the license was only added this morning. I wasn’t trying to trick anyone.

  62. Joshua: My apologies, you’re right.

    *settles down*

    I’ll add that it was a jackass thing to do to claim to write the code on his own.

  63. My biggest problem with the PulpFiction lads is that they used the code on a commercial site. I’m relatively new to CSS (especially when compared to folks like Mr. Kaufman and Mr. Zeldman) so I do a lot of “borrowing”. I sometimes give credit to the source and sometimes I don’t, but my site is for personal use and viewed by like half a dozen people. Plus I frequently change the code and am using it only to learn more. The majority comes from books or sites like A List Apart, made exactly for the purpose I’m using them for. Once (if?) my site gets better/more popular I imagine the majority of the design will be my own. But if I do get inspiration from another source, I’ll be sure to give proper credit.

  64. You will find that all works (whether it’s programming, design or writing) are protected by law. You don’t even need to state that they are copyright (though it helps), as someone mentioned above.

    Oh and Zeldman - If it’s just a “PIECE OF CODE”, then surely it wouldn’t harm to put a “COMMENT” in the “CODE”.
    I wonder why Microsoft keeps their code closed, and why Linux allows you to modify theirs - aslong as it’s distributed under the same GPL. You need to get your facts right.

    Yes, it’s a piece of CSS and “anyone” could create it, so what - they used the exact names for the selectors, the same order of rules and declarations. If the guy was smart - he would have customized it.

    You’ll find people on the Zen Garden kicking off about their code all the time, and listing it under a CC - even the big names.

    You’ll find that open source doesn’t mean - “hack this completely and say it’s your own”. It means - “hack this completely and give credit where it’s due”.

    So what if the guy likes his tabs, so what if someone could easily create them. That’s not the point.

    If it was me, i’d probably let it go. However, I truly understand why he’s kicking off about it.

    I get sick and tired of lame people stealing code too, and i’m sick of the web sites that promote laziness. Fair enough, learn from the code, but as Keith said - for goodness sakes be original and change it in some way.

  65. This site, and many others, are licensed under a sort of GPL-For-Text called Creative Commons. This little contract has several variations but, in general, it says “use my stuff, but credit me” (you can choose other options, but few do)….

  66. It is downright amazing to read all this and realizing that good deal of people have no idea what they talk about.

    It doesn’t matter where or how one obtain a piece of copyrighted materials. It is still copyrighted.

    Proper thing to do by Erik was to review the Josh’s claim, realize the obvious and simply put the note in the comment. Very easy and respectful.

    What he actually did was wrong. But what some people here say is downright stupid and bereft of any sense. Simply amazing. :(

  67. There are a few questions that have come about this discussion.

    What’s the big deal? Y’know, the point here is that it’s NOT a big deal. Joshua shared this under a CC license which is supposed to ENCOURAGE and foster the development and design community. Joshua’s not pissed someone took the code, he wanted people to use it and share. Attributing the author is such a small thing, it’s really sad to see it not being done and tarnishes the spirit of CC.

    Can it even be copyrighted? Consider if we’re talking about more than tabs and instead an entire website design. CSS is what separates style from content. By saying CSS can be ripped verbatim, you’re saying the design can. The most recent one I can think of is Andy Budd’s ZenGarden design being ripped off to the point that he had to ask for it to be removed. They took the whole CSS and just changed the graphics linked to it.

    Did he even copy it? I’ve seen tons of similar things. If you’re too lazy to click on the code”>http://unraveled.com/archives/text/2004/unraveled_vs_freshlySqueezed_css.html”>code that Joshua links, it’s easy to dismiss this. We’re talking about the same names (largely) and the same properties in the same order. If you’ve ever written code, you’d know this to be rather difficult to happen by chance. Read: impossible.

    Is irregardless a word?Why, no Todd, it’s not but a certain chimp looking president (who isn’t as smart as Cyborg Mind Monkeys) seems to use it fondly.

  68. and is this theivery?

  69. I have to say, having looked at Josh’s code and Erik’s original code (as presented here), if I were to write a set of tabs from scratch I’m betting my CSS would turn out very similar, even if I’d never seen Josh’s code.

    ‘tabnav’ is a fairly obvious name for a selctor for this purpose, and numbering tabs 1-3 is so obvious it could not possibly be used as ‘proof’ of ‘theft’.

    Which leaves the 19 properties. Given there are only a certain, limited number of properties one can use, to rely on the order as ‘proof’ of ‘theft’ seems to be stretching the issue a little. It so happens that the order of properties used is almost exactly the order I would use if I were writing the stuff from scratch.

    More telling is the difference in where the brackets are, the indentation of the code, etc. Unless Erik ‘ripped’ the code then changed that to cover his tracks (and—if he were doing that—why not change the selectors/order etc), I’d say this were a much more personal way of coding and better ‘proof’ of innocence or guilt.

    I’d say the chances of writing code that close without seeing the original, and therefore *not* stealing were very high, if not extremely propable.

    I’m not for one minute condoning theft of code, and always credit my own sources in comments even if I go on to rewrite most of the code; it’s only fair, and I’d expect others to do the same.

    But to publically accuse Erik in this case seems extreme, when it is entirely possible that he did reach the same goal completely independently. I know I’d be really, really close if I wrote something similar from scratch, simply because of the limited ways one could reach the intended goal.

    So for all those people saying Erik was wrong, I’d have to say my own feeling is that if he says he didn’t do it, he’s probably telling the truth.

  70. ohh josh.

  71. http://www.kuro5hin.org/story/2004/2/2/171117/8823

  72. “Ritz” - I write CSS declarations in that sort of order too: font, background, padding, border, margin, and finally positioning/oddities.

    That said; I’ve had one guy rip off three of my designs in succession, denying any knowledge of the first two, and apologising that he didn’t think the third incident was “as blatant”. I also had one company who I freelanced for re-use my work in other projects without so much as giving a nod in my direction. When it happens, it’s no fun at all.

  73. i guess i’ll put my two cents in. I didn’t think that code could be copyrighted, but a quick google shows that’s not the case- it can be in certain cases, but not all. It’s not like writing a novel, where it’s a very clear cut case. Actual creativity has to be proven. And if there are a limited number of ways of coding something that also makes it harder to copyright. In my opinion there just isn’t enough code here to validate a copyright, but of course i’m not a lawyer so that doesn’t mean much.

    Having said that, I also don’t see how the similarity of the code could be coincidence. It would be one thing if the attributes of each element were coded in a specific order that happened to be the same, but each element has their attributes in a different random order, and yet they still all match. That makes a coincidence much less likely.

  74. Joshua, I understand that if this was indeed theft of intellectual property (a point I’m not willing to concede) that you’re very upset. But you know what… there are lots and lots of important things happening in the world, and your little bitchfest doesn’t make the Top Ten list by a long shot. Get some perspective, man… if Erik did what you say he did, karma will bite him in the ass. But if you hold on to anger and resentment over 36 lines of code that (I hate to break it to you) has probably been copied without attribution by hundreds of people, you’re looking at an early heart attack. Let it go… it’s just not worth it.

    And speaking of karma…

    Do I know Erik very well? No. Has he rubbed me the wrong way from time to time? Sure. But is all-out character assassination an appropriate response to what may or may not be 36 lines of stolen yet relatively unoriginal CSS? Absolutely not.

  75. I think there are a number of issues here.

    1. Like many have said, a sort of grammar of writing CSS is emerging and many, many people write their CSS in a set order. I too use the inside-outside style of positioning - color - font - line - padding - margin - border - oddities (opacity, etc.). Therefore your evidence is purely circumstantial.

    2. Copyright is a very complicated issue. It’s not as simple as people make out. CC is an attempt to simplify it but even that doesn’t really work. In my opinion, CC is more of an easy way to say “Please be nice and attribute”, etc. Whether or not it is legally binding is beyond me (I suspect it probably is) but I don’t really see that as it’s purpose. For me, it’s simply a polite notice to those unaware that they should follow certain etiquette.

    3. I read tutorials all the time claiming to have some miracle new technique that is really quite obvious. Some examples are the recent spate of use-one-image-for-multiple-link-backgrounds tutorials which for anyone who has thought for more than a couple of minutes about the issues of pre-loading and uninstantaneous image display could have worked out for themselves. These tutorails for me do not represent what I would wish to be copyrightable works. They are common sense for those who have not yet worked it out or who do not understand coding intuitively enough to work out.

    I don’t wish to pass judgement as to whether Erik did or did not steal this code. I don’t know, as does nobody, except Erik himself.

  76. Once upon a time the most pious web designers known to the human race gathered…

    Not a single soul amongst them had ever copied code! One young man had used a cracked version Photoshop to make some gifs, but felt so guilty afterwards that he put his hands in a blender! A woman who was quite talented at CSS turned her siblings into the RIAA for downloading MP3s!

    While waiting patiently to be knighted by the Queen and blessed by the pope, they argued about who was most pious. While they battled and pointed fingers thousands of lines of validated code shivered desperately in the wind.

  77. And on that comment, this discussion is over. I’m over it. In the end, this is what’s important to me:

    - People should give credit where it’s due. (This doesn’t happen enough on the Web.)
    - People should not lie.
    - I shouldn’t get upset over simple code.

    I apologize to anyone that I’ve offended because of this post. It’s not like me to make outright accusations, but this one struck a nerve. I’ll try to be more respectful in the future.

    Thanks to everyone who participated in this lively discussion.

  78. Take 1 web, 2 grains salt: Jeffrey Zeldman reprises that “don’t believe everything you read” reality… someone signed his name to a comment with objectionable attitude on someone else’s blog. Anonymity serves certain valid purposes, but testable reput…

Comments are closed for this entry

Please send your feedback via Twitter to @jmk.