21 Nov 2002 MichaelCrawford   » (Master)

Help Me Decide Whether to Copyleft My C++ Article

I have written a number of technical articles which are copylefted. But I have written even more which aren't.

One reason I don't copyleft everything is that some of my pieces are almost pure opinion pieces, and other articles are very popular, and draw traffic to my website, which helps to advertise my consulting business.

A discussion started today on a Linux Documentation Project mailing list about what some describe as poor quality in The C++ Programming HOWTO. Some feel it should be removed until it can be rewritten, and some have suggested that it has little content that can be salvaged at all.

Take a look in particular at Pointers are Problems. He just says not to use pointers if you can possibly avoid them, and to use references instead. I admit I hadn't read the document before it came up today, but the document looks like it was written by a Java fan who is trying to dress up C++ to look like Java, which I think is really inappropriate. There are strengths and weaknesses to both languages - if you don't like C++ and prefer Java, you should just program in Java rather than trying to make C++ something it is not.

In particular, pointers are required in C++. What looks like a reference in Java is really a pointer, it just has restrictions placed on it to avoid common problems. You can rebind a "reference" in Java, but you can't in C++, so you have to use pointers. But the author of the C++ HOWTO says "Pointers are not required for general purpose programming.".

So it occurred to me today that I have a wonderful opportunity to step in and do some good, if I were to relicense Pointers, References and Values under the GFDL and contribute it to the Linux Documentation Project. But I'm very hesitant about it. The reason is that the document is one of the most-visited web pages on my whole site, and everyone who reads it gets to see my banner ad at the top of every page.

Last month, the first page of Pointers, References and Values got 736 hits. So far this month, it's gotten 526. That's quite a lot of traffic for a website for a one-man consulting company. When I published a condensed version at Kuro5hin traffic to my whole site doubled for a month. Lots of people link to it too, guaranteeing me future visitors and helping the page to place highly in search engine rankings (the first fellow programmer I met in the state of maine found me by searching Google for C++ help).

I know that I could help a lot more people if I copylefted my article, but I fear that allowing people to read the article elsewhere would reduce the visibility of my consulting business. I'm sorry to say that, I know we are all here for Free Software, and I support it as best I can (and I think I can do more good with my writing than with any software I might write), but I worked long and hard to write the article and the dot-com crash has been particularly difficult for consultants.

Here's how I could be convinced to copyleft "Pointers, References and Values": tell me how copylefting it would benefit my consulting business more than it would to have the current proprietary copyright where people have to visit my website to read it.

Probably if the Linux Documentation Project is to carry my article they would want me to remove this section at the end.

If you don't want to post your response here you can email me at crawford@goingware.com.

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!