Think about that last SQL statement that you wrote. Did you originally write it? Are you sure you wrote it? What about the one that does that thing that you think is really clever? Can you go through all of the code in your script folder, and identify which ones you originally wrote, and what came from other people?
As an author or blogger, this conundrum can be quite an issue. We have all heard of this before, we call it copyright infringement, or plagiarism. This can result in much consternation from the original author, with the potential for conversations and investigations around the infringement to quickly ramp up. In some cases, it gets to the point where a DMCA take down notice is needed.
But what is a copyright violation? If you grab a sentence or paragraph from someone else, and add it to your document that’s pretty obviously a copyright violation. It gets a little trickier when it comes to the code we use in our posts.
Because of our how our community interacts, we often get code from others that we use, re-use, modify, and develop to conform to our needs. It’s been shared precisely for this reason. We oblige and make great use of it. Time may go by, and we get something that runs great that we’re excited about. We want to share out as well.
The question to consider… is it still the original author’s code? At what point does the code that you are using no longer belong to the other author, and when has it been modified sufficiently that you can claim it as your own? Obviously, when it comes to a demo scenario created by another, then it is not your code, especially if the subject is something interesting like tallying mythical creatures. In that case, it’s easy to know that the code isn’t yours. On the other end of the spectrum, is a SELECT query against the Sales tables in the AdventureWorks database; which is likely not something that could be considered a violation of copyright.
At what point does the code belong to you? In general, unless you wrote it from scratch, or there is no other way to build the objects, it always belongs to the original author. As such, you need to be extremely cautious when writing about code you may have sourced from other people.
While we like to share within our community, we are also keenly aware of incidents of plagiarism. I am certain that anyone that has been on twitter long enough, has seen the members of our community raise up and push back against plagiarism. Sometimes, there is a fervor that will rise up, and we all let the copyright infringer know they are in the wrong. When the violator doesn’t own up to the mistake or understand, there is additional effort and pressure placed, to make sure the problem is fixed. The one issue that arises from this process, is that it is done in public. In the end, nobody looks awesome when they argue on the internet.
There are, of course, other ways to address copyright and plagiarism. In fact, I participated on the wrong end of this towards the end of last year. While working on a white paper, I was using scripts originally received from a peer. I’d had them for a few years and I had used, modified, expanded, and rewritten portions of the scripts. While working on the writing, I went through and cleaned out the scripts to get them simple enough to present to readers.
What I didn’t do was go back to the original scripts to see what the differences now were compared to those I was including. I didn’t check to see which items were in the original presentation compared to what I was covering. Had I done that I’d have realized that the order of the demos was on par with the presentation, and a couple of the scripts were now identical to the original source. Not good, especially since I missed noting where I originally learned about the content in the article, and didn’t reach out to the author to mention I was using derivative materials. All in all, it was a grand slam of screwing the copyright pooch.
I doubt many of you have heard about this fubar. The reason being, is that instead of asking me about it on twitter, the author e-mailed me. We talked about it offline… actually it was online through instant message. At first, I was confused at the thought that I had plagiarized code. I was thoroughly embarrassed that I had made such mistakes. This resulted in some re-writing and annotations to the article, and things are now cleared up.
The original author was correct in saying that there were issues with copyright in what I had put together. But instead of making it a public affair, the issue was kept between those that were at the heart of the matter. It was kept in the sqlfamily, but in a way that doesn’t embarrass us in front of others and include shame. No one had to take sides, and the issue was worked out.
Now as an addendum to this, I would highly recommend that people watch their spam folders on at least a weekly basis. While I am encouraging a side approach to dealing with plagiarism, having your requests end up in spam will discourage handling plagiarism privately.
What do you think? Have you ever copied someone’s code as your own without noticing it? You may want to take the lesson I learned and be diligent in marking where you got code. Check it before publishing it in your own articles – because like the words around it, you are putting it up as your own penmanship.