There was a recent uproar about a session delivered recently. A company thinks that the session infringed on their intellectual property. The Midnight DBAs had a short write up here that summarizes, and expresses some amazement.
I am sure that this accusation is baseless, but there are likely a few people that are worried about where the lines in intellectual property are drawn. I will try to explain things as I understand them, but two important points:
- I am not a lawyer, nor do I play one on TV, and I have not stayed in a Holiday Inn Express in a few years.
- IP law is a little hazy and what might be seen as infringing in one court might not in another court. However if you do not stray too close to any lines, you should be fine.
- If you are really worried about something, get another opinion before you publish a blog.
With that in mind, here is what I recommend.
First, do not copy anyone’s words or code as they were written. In other words, no highlight/copy from their blog/article/Books Online/anywhere else and paste on your blog. This is plagiarism if you somehow imply that you wrote the work, and it is copyright infringement if you republish this information without permission.
Q: I aggregate blogs from other sites. Am I infringing?
If you republish an abstract, usually seen as 100-200 characters, then no. If you republish the entire thing, then yes. It’s freely available, as in speech, but that doesn’t mean you get to disseminate that speech yourself.
If you want to use a section of someone’s work, as in a section of a blog or a section of Books Online, or something similar, then quote it, give a source, and comment on it. That last part is important. Fair use is generally allowed when you are critiquing, or expanding on someone else’s work. It’s not generally allowed when you are just showing their work, even a snippet, as a way to avoid rewriting things in your own words.
In general the rules more universities have of only quoting a paragraph or less are what I would recommend. If you need to use more than that, perhaps you should just link to the relevant page.
Images are hard, precisely because they are protected by copyright, but also because of the technical imposition of how they are transferred to a browser. In general, here is what I recommend.
Shoot your own images.
Use SnagIt or Quick Screen Capture or Skitch, or your cell phone camera to take images. Then you have no issues. If you blog for money, i.e. in a commercial sense, including on your company’s site, be careful of using any copyrighted items like works of art or professional images. Try to keep to public stuff.
If you want to search for images, I recommend using Flickr and searching for creative commons licensed works. Tons of them are out there and you are usually fine using them. I tend to save the image, and then place a hyperlink back to the original to give them credit. Most people don’t care much, especially if you are promoting their work. If the artist is a pro at producing the image, definitely ask and respect the copyright symbol on any image. Don’t republish those without specific permission.
I have also found lots of companies, such as Demotivation, will allow you to use their images and link back to their site for sales. Amazon is pretty open about using their images of books, just be sure you save the image on your site and don’t tax the Amazon servers. Often if you just ask, you’ll get permission.
Write your own code. It’s that simple. Build your own code, test it, and publish it. If you use an example from MSDN or another source as a base, note that. It’s just common courtesy and polite if you get help from someone.
Lots of code is trivial, and it can be hard to copyright, but it’s easy to show concepts and invent your own queries, DDL, DML, PowerShell, etc. If you can’t invent it, perhaps you shouldn’t be writing about it.
If you want to use code from work, ask first. If you don’t want to ask, don’t use it.
As an example. If I wanted to explain about database mirroring sessions, I could do this:
The way in which a mirror is synchronized with the principal at the start of a mirroring session is explained in Books Online like this: “At the start of a database mirroring session, the mirror server identifies the log sequence number (LSN) of the latest transaction log applied on the mirror database and asks the principal server for the transaction log for all subsequent transactions, if any. In response, the principal server sends to the mirror server any active log records accumulated since the last log restored to the mirror database or sent to the mirror server.” (emphasis mine)
I have italicized the BOL section, which I think is appropriate since it sets it apart from my words. I have also added a comment at the end about the emphasized, or bold section, which is not bold in the original text.
I would not do this:
Database Mirroring Sessions
Database mirroring occurs within the context of a database mirroring session. This topic assumes that you are familiar with the principal, mirror, and witness roles, operating modes, and role switching in database mirroring. For more information, see Database Mirroring Overview.
When the mirror database is ready, and the server instances are configured, the database owner can start database mirroring. As soon as mirroring starts, each partner begins to maintain state information in its database about that database as well as the other partner and the witness, if any. This state information permits the server instances to maintain a relationship known as a database mirroring session. Throughout a database mirroring session, the server instances monitor each other. The state information is maintained until the database owner stops the session. For more information, see Mirroring States and Monitoring Database Mirroring.
At the start of a database mirroring session, the mirror server identifies the log sequence number (LSN) of the latest transaction log applied on the mirror database and asks the principal server for the transaction log for all subsequent transactions, if any. In response, the principal server sends to the mirror server any active log records accumulated since the last log restored to the mirror database or sent to the mirror server. Unsent log that has accumulated on the log disk of the principal database is known as the send queue.
The mirror server immediately writes the incoming log to disk, where it is held until it is applied to the mirror database. The log waiting on the mirror’s disk is known as the redo queue. The amount of unrestored log waiting in the redo queue is an indicator of the time required to fail over to the mirror database. For more information, see Estimating the Interruption of Service During Role Switching.
Apart from the title, the four paragraphs are verbatim copied from Books Online. I have added nothing to this.
A patent is a legal award for an inventor for their specific invention. This can be a process, a physical design, or a specific improvement. They can be controversial, such as the 1-click patent for Amazon, but essentially this is something you are awarded. If someone has a patent on an item you want to talk about, you should get permission. However concepts and subject areas can generally not be patented.
Courts can invalidate patents, and these are issued on a country by country basis. In general blogging should on infringe on patents, but code could. If you have some hee-whiz code technique, do a little research and see if anyone has something similar before you publish it.
Slander and Libel
Both of these are essentially the same thing, making false and damaging statements about others. Slander applies to verbal comments and libel to published comments, which would include blogs.
If you say (or write) something false, deliberately to hurt someone or damage their reputation, you could be sued for your comments. The exception is in criticism and critique. You are welcome to review and comment on products from your point of view. I would not say something like Product X doesn’t implement encryption if it does offer that feature. However if you say “product X uses poor encryption techniques because I was able to decrypt the file in an hour” then you are making an opinion.
Proving something as true or false is hard, but my recommendation is that you use clear opinionated words if you are going to complain, criticize or otherwise trash someone or something. Your complaints might be valid, but the way in which you express them reflects on you. An emotional rant is more likely to make you look unprofessional than make the product look poorly. Like with other blogs, research a bit, present some valid argument for your complaint and it will make you look more thoughtful, and be less likely to invite any complaints from the complainee.
Knowledge of Infringement
One important point to note here is that your knowledge of someone else’s work is not necessarily needed to prove infringement. You might never have used Amazon, but if you implemented a 1-click feature on your ecommerce site, you would still be guilty of patent infringement. If by some chance you had never read Books Online, but you happened to sit down one night, think about how your instances are clustered together and wrote this in your blog:
“A SQL Server failover cluster instance appears on the network as a single computer, but has functionality that provides failover from one node to another if the current node becomes unavailable. For example, during a non-disk hardware failure, operating system failure, or planned operating system upgrade, you can configure an instance of SQL Server on one node of a failover cluster to fail over to any other node in the disk group.”
You would be guilty of both plagiarism (unintentional) and copyright infringement (unintentional) from this page in BOL. Even if you could prove that you never had read Books Online, you would still be guilty.
Infringement has to do with the act, not the motive or knowledge. As they say, ignorance of the law is no excuse, and ignorance of someone else’s control over IP is not a defense.
If someone complains about your work, find out the basis for their infringement. They must have a specific place that shows you have infringed. If they provide it, make a decision. Remember, concepts cannot be protected, only specific implementations of words, art, images, code, slides, or a process. In general blogging only concerns itself with copying other’s work.
If you get a DCMA, take down your work. You can always republish it later if that DCMA is invalid, but avoid legal hassles until you can present a defense of your work.
However if you always write your own material, you’ll have no issues.