Software Patents

I highly dislike the current patent system in the US. I think awarding patents for an idea like “1-click purchasing” is a poor practice that discourages innovation. There are numerous problems with our patent system, not the least of which is that it can stifle new ideas and prevent small companies from building on similar ideas that are, well, what I’d all common sense. I don’t quite share Richard Stallman’s view of software patents, but I do think we have fundamental flaws in the way we handle this intellectual property.

I do, however, think that software has value, and the work we do as software engineers deserves compensation, as noted in this post. We should have some patents, and we should reward those that create truly innovative, and not common sense, ideas in the digital world. How we define those, and how we measure innovation isn’t clear to me, but I do think that non-trivial ideas deserve protection.

Our legal systems around the world are slow to catch up to the digital world, and may never do so. As quickly as we can debate patents, copyright, trademarks, and more, the digital world grows, expands, and changes to stretch and challenge our thinking of how the world works. It almost seems as though digital ideas and software defy analogies and explanations that we can relate to the real world.

I don’t know how I’d change patents, but I don’t want them to go away completely. I do, however, know what I’d do with copyright. I’d change it back to the original system we had, granting 14 years exclusivity to creators, with a single option to renew for 14 years and that’s it. The world certainly changes too fast to wait 95 years to use someone else’s work.

Steve Jones

The Voice of the DBA Podcast

Listen to the MP3 Audio ( 2.4MB) podcast or subscribe to the feed at iTunes and Mevio . feed

The Voice of the DBA podcast features music by Everyday Jones. No relation, but I stumbled on to them and really like the music. Support this great duo at


Is my blog infringing on anything?

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:

  1. 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.
  2. 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.
  3. 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.

Sharing Code

Sharing of Ideas

It seems that almost every week I encounter some form of plagiarism it the SQL Server community. Whether its from SQLServerCentral or it’s someone else, it seems that I’m either alerting someone or sending my own takedown notice.  It’s a little sad that I have to even explain the morality of re-publishing someone’s else’s content without giving them credit to anyone over 8 years old, but apparently I do. However this isn’t a piece about plagiarism.

I have seen people take various additional steps to protect their content, and that’s fine. It’s their right, and I understand that some people derive a level of income from their work. Whether it’s direct or indirect, it doesn’t matter. If someone wants to protect their work and they don’t want you to reuse it, then respect their wishes. If not for legal reasons, for moral ones.

As we publish information on the web, however, I would think most of us hope our code and ideas are adapted and re-used. Not used in another publishing piece (blog, article, etc.), but used in a piece of production code that makes a system run better. I know when I’ve published code that helps someone track backups or monitor their servers, I was quite honored to hear that someone used my code in their system.

Sometimes I wonder if  other authors out there feel the same way. Do writers assume their code will be rewritten by someone before it is used. Digital rights and intellectual property are immature fields, and I’m not sure how we ought to best handle the re-use of code. Authors have the right to decide how they want their works to be shared, and should publish their decision. I would hope that others out there would respect that.

Steve Jones

(originally published at

The Voice of the DBA Podcasts


This is actually amazing. A talk on what YouTube does with copyright and how they view it, from TED. It’s interesting, and there are two things in there to watch. Note, that I caught this link from Jeff Atwood (@CodingHorror) on his blog.

The first thing is that YouTube scans over 100 years of video every day. 100 years! That’s freaking amazing. That is an incredible amount of video processing that’s taking place, and a low of power being spent to enforce copyright. Forget about the legal issues for a minute and think about the technology. That is just amazing.

The second thing in the talk is that content owners can, and are choosing, to not block this content, but rather use it to generate some benefits from them. They ought to be able to receive some benefits, and I agree, but knocking down some kid’s video because he used a copyrighted song seems silly. Especially as in the case of the wedding video, you never know what will go viral and what benefits you’ll get. Including selling more copies of your stuff.

However the thing that worries me is that we are now not looking out for Fair Use. If a copyright holder wants to block their content, can we still get our 30sec of use of it in a video we make? Or a mashup?

7231[1] The copyright office doesn’t necessarily define the fair use guidelines, but I think they need to. We ought to have some idea of what portion of audio, video, imagery, and text can be used, with citation. Even with automatic citation, that may benefit the copyright holder.

We publish books here through Simple Talk Publishing. We typically offer books for free as marketing materials here on the site, and also sell them on Amazon and other retailers. Regularly I find these republished, or even for sale, on the Internet on other sites. I understand people wanting to share, but ultimately it’s a problem for us if all our books become too widely distributed for free. I know there are a lot of debates on piracy, and I’m not completely sure where I stand. I don’t actively worry about piracy, but I do act to have things removed when I find it.

We need to do something here to both protect the copyright holders, but also allow people to reuse ideas and build on them. I certainly wouldn’t mind someone republishing portions of my work, or building their own knowledge publications based on it, just don’t wholesale copy what I’ve done without giving me any credit.

I think YouTube has a good balance here, though I’d like to see more efforts from content owners to share and allow others to build on their work.