Monday, July 12, 2010

Why AGPL (and to a lesser degree GPL) is a business problem

iText went AGPL. On their page they list two additional requirements, and the AGPL does give the licensor the ability to add certain restrictions. One of them is:

In accordance with Section 7(b) of the GNU Affero General Public License, you must retain the producer line in every PDF that is created or manipulated using iText.

That didn't really meet my understanding of section 7(b), so I asked the Free Software Foundation for a clarification:

I read that portion of the license and it says:

Notwithstanding any other provision of this License, for material you
add to a covered work, you may (if authorized by the copyright holders of
that material) supplement the terms of this License with terms:


b) Requiring preservation of specified reasonable legal notices or
author attributions in that material or in the Appropriate Legal
Notices displayed by works containing it;

I would understand “that material” to be the source code, and they can require retaining the author attributions and legal notices in their source code. However a restrictions that says you cannot change how the source code performs its function, or require that it put specific text in an output result of the software would seem to not be authorized by section b, and it would seem to violate the letter and spirit of the AGPL. Can you please clarify?

Thank you very much.

Francois Marier was kind enough to get back to me and replied:

Section 7(b) allows you to add either or both of two separate things.
First is "Requiring preservation of specified reasonable legal notices or author attributions in that material" -- and you're right that "that material" here is source code that you add to the software (per the paragraph at the top of the list in section 7). So the requirement in question does not meet that criteria.

The second thing it allows you to add is a requirement to add similar text "in the Appropriate Legal Notices displayed by works containing it." This goes beyond the source code: per the definition of Appropriate Legal Notices in section 0, these appear in interactive user interfaces provided by the software. However, that still doesn't go so far as including notices in the noninteractiveoutput of the program. So the requirement does not meet this criteria either, and is not acceptable under section 7(b).

Please note that this is not legal advice.

So given the above if you were a company that had a business model that would involve distributing AGPL software, and you wanted to use something from some other Vendor plus iText, you would have a real problem. On the one hand, iText is giving you a non-AGPL compliant license restriction, on the other hand, it is their code, they can do that if they want to. Even if the FSF has a problem with taking and modifying the AGPL for your own purposes, that would be between iText and them, it would not automatically entitle you to use iText under a pure AGPL. Maybe you could make that case in court, but who would want to take that chance?

So the bottom line is that the ability to add restrictions of a limited type, coupled with the inability to add further restrictions can take the whole GPL/AGPL license into a host of incompatibilities. I hope the FSF figures out a better solution for the next version.

Friday, May 07, 2010

Thoughts on Windows 7

So why is Windows 7 so much better received than Vista? My guess is simply that it is backwards compatible with Vista, and the pain of the transition was already taken out on Vista. If Windows 7 came first I think it would have had the same problems.

(BTW, what is the 7 in Windows 7? 7 from what? If Windows 95 was 4, then 98 was 5, ME 6 and XP 7. If NT was 4.0, then 2000 was 5, XP 6 and Vista 7. Why 7? Wikipedia says that 2000 was 5 and XP was 5.1, so Vista was only 6, but then Windows 7 is really only 6.1. I remember when Microsoft justified its moving away from version numbers with Windows 95 by saying everyone was confused by them.)

Need a new Job

It is almost impossible to imagine that a profitable company functions this way, but courtesy of the blog Statically Typed by wheaties we have one horror story after another. Just wow. And he tags it Mea Culpa!

I think the most unbelievable part of the story is the part about how subversion hiccuped on them and they therefore threw out version control (!!!). Of course the naming convention on the file system isn't going to do much good if that hard drive crashes. Do these people even know what backups are???

Whatever it is, I want to know where he works so I can be sure to never, ever buy any of their products.

Tuesday, January 26, 2010

Business Management and the Scientific Method

It is pretty rare that I read a Bob Lewis column and find myself not only disagreeing with everything in it, but finding that it didn't give me any new insights.

This is one of those rare exceptions.

He starts with a description of how debates settle nothing but the question of who is the better debater. The problem is he then misses the point:

When I listen to a debate, at the end I’m only persuaded as to which of the two opponents is the superior arguer. I’m not convinced one position is superior to the other because the whole point is that the superior debater could just as easily persuade me of the opposite proposition.

The real takeaway from that observation is that any debate essentially demonstrates who is the better debater. In order know which one is right, you have to understand what they are saying, know how to look at evidence beyond what either of them may have presented, and know how to decide which one is correct. The key point being that this is true whether or not the debaters passionately believe in what they are arguing or they are just an advocate for a client. The pureness of motives of the debaters doesn't affect this, it is a matter of the effect on the listener.

Missing that point he then goes on to the scientific method, extolling the virtues of two debaters (Leonard Susskind and Stephen Hawking) because their motives were pure. But in reality if you don't understand the subject matter of the debate, you are only judging by the debating skills of the two.

To compound the error, the article completely misses the different techniques that the scientific method has developed to insulate the biases (such as falling for superior debating skills) from effecting the results of the research, and instead seeks to apply the scientific method of falsifiable predictions. He explains:

Here it is: Scientists understand they can’t ever prove a theory. All they can do is try to disprove them (”falsify them,” according to the vocabulary introduced by Karl Popper, the epistemologist who first explored this subject in depth). Fail to falsify one enough times in enough ways and researchers start to gain confidence that they’re on the right track.

The way they try to falsify a theory is to explore its implications. Some of those implications result in predictions — that under a specific set of conditions, the researchers should be able to observe a specific phenomenon. The researchers then either create those conditions or find them, and either observe the predicted phenomenon or something different. If they observe something different they’ve falsified the theory.

He then sets up what are essentially straw man predictions and attempts to apply them to IT theories that he doesn't like. However, having dropped one of the main controls for bias in science (a reproducible experiment), the value of the scientific method and its applicability to IT management is really no where supported by what came before it in the article.

Fans of the scientific method tend to not like the fact that it doesn't apply cleanly to all situations. Not all situations can be analyzed with repeatable experiments. And not all situations can make both accurate and meaningful predictions. IT governance is such an example.

In Bob Lewis' own words, here is the prediction he ascribes to the view that IT should be run as a business:

For example, if IT organizations that are run as a business deliver more value than any others, then companies within which they are run this way should be more successful and profitable than competitors that don’t.

Except this would be a bad test. The theory isn’t that running IT as a business is better than the average of all other ways. The theory is that it’s best practice — that it is superior to all known alternatives.

So a better test would be to compare running IT as a business to a specific alternative. Here’s one: Integrate IT into the enterprise, providing strong strategic business leadership and disciplined governance. Compare the success and profitability of companies that use the two different approaches and you’ll have made a start.

The strawman here is idea that a given theory about IT governance predicts demonstrable "success and profitability." Sure, all things being equal, but they never are. Consider Company A, in 2006, heavily invested in Sub-Prime mortgages. Consider Company B, in 2006, heavily invested in Government work that was heavily funded by the American Recovery and Reinvestment Act (otherwise know as the Stimulus package). Is their theory of IT governance going to be the controlling condition of their success between 2006 and 2010?

I suppose you could argue that a good, strategic, IT organization would have predicted the risk of sub-prime mortgage investments, but even if the company had diversified, in mid-2008 it would have looked like a failure.

Of course I am picking on the most extreme, obvious example, but even something as simple as were you Starbucks or were you McDonald's at the end of 2008, what happened afterward (Starbucks down, McDonald's up) has nothing to do with IT governance, and even if Starbucks had the Integrated IT approach and McDonald's had the IT as a Business model, the "success and profitability" of each company in fact tells us nothing about their IT practices.