Category Archives: Essay

It’s Official: New MASS Tax Targets Use of Open Source in Software Consulting Services

Changes to Massachusetts tax policy became law became last week on July 24, 2013. One change included a new tax on “Software Services” involving “prewritten” software. This new tax became effective one week later – July 31, 2013.

I wrote an analysis of that law which generate some really great dialog (see the comments). In my analysis, I was alarmed because I though the intent of the new tax law did not match the wording. I sent my feedback to the Department of Revenue (DOR) asking for clarification. The DOR has responded.

The DOR response has a short overview page that includes a link to an FAQ on the new software services tax that contains the key clarifications. This FAQ is well done and provides a good deal of new, clarifying information in the form of 29 Questions with Answers. (I don’t necessarily like the answers it provides, as I wish the policies were different, but there’s no questioning that they do clear up certain areas of confusion substantially.)

Here is my take on a couple of the FAQ responses that, while very clear, are not the answers I was hoping to hear. The FAQ items cited are included verbatim in blue text.

FAQ Item 5 – Blindsided

FAQ 5. Why were businesses given such short notice of the new tax?

A. The effective date was set by legislation, not by the Department of Revenue. The Department’s TIR 13-10, “Sales and use Tax on Computer and Software Services” was issued one day after the legislation became law.


First, it is important to realize that the DOR was not responsible for writing the law, but they are trying to stay on top of it and issue timely guidance. One day after for the original TIR 13-10 and one week after that for this updated FAQ does not seem unreasonable since drafting answers these questions (many unanticipated by lawmakers) is not a casual endeavor. The authors of the FAQ appear to have taken into consideration lots of input, judging from the breadth of the questions it answers (including a couple of fairly esoteric ones).

This item is not speaking for lawmakers who should still explain how they thought they were acting responsibly by adding “sales tax” to software services where there never was such a thing before and have it become effective within a mere 7 days of becoming law. I did not say “why did they only give 7 days notice” because I don’t see this as giving the community “notice” – most effected consultants and services companies probably don’t even know about it yet – and it really did come out of the blue.

Lawmakers also still need to explain why they did not ask for feedback from the software services community in advance. Then the DOR FAQ could have been ready in advance. And maybe the law could have even been written more clearly. Did they ask for feedback in advance? If the publication of Working Draft Directive 13-XX: Criteria for Determining Whether a Transaction is a Taxable Sale of Pre-written Software or a Non-taxable Service is used as evidence that sufficient notice was given to the software services community, I strongly disagree. That draft was not a sufficient indicator of what was to come.

How the Software Services Community was Blindsided

  1. The publication of Working Draft Directive 13-XX: Criteria for Determining Whether a Transaction is a Taxable Sale of Pre-written Software or a Non-taxable Service is VERY DIFFERENT from the final law.
  2. The draft targeted software services tied to a larger software sale. Consider this key bullet from Directive 1 in the draft: “Pre-written software is bundled with a non-taxable service and sold for a single price, but only where the software constitutes the predominant value of the sale.” I can see this as taxing the services sold to make the software sale possible (think Enterprise Software which often require major integration) and to make it harder for vendors to shift licensing costs to services costs to avoid taxes.
  3. The draft exempted custom software and projects where the services were dominant part of the transaction. Consider these two key bullets from Directive 2 in the draft:  “The seller is providing custom software.” and “Substantial personal or professional services are performed by seller’s employees and are bundled with the use of software and sold for a single price, and such services constitute the predominant value of the sale.”
  4. These seemed to be reasonable & logical criteria for taxation (Directive 1) and non-taxation (Directive 2).  So why worry?
  5. The actual legislation took a major turn and is SO DIFFERENT in its scope and intent that it is not a logical successor to the draft. There is NO WAY our lawmakers can expect a reasonable reading of the draft suggests we might arrive at this final legislation.
  6. And, as mentioned, most impacted software services professionals don’t even know about the draft, the law, or the tax. HOW WERE WE SUPPOSED TO KNOW THIS WAS HAPPENING? How many lawmakers made an effort to socialize this with those of us in the profession? Anyone have any evidence that any outreach happened? Anyone reach out to your professional organization, company, or community group?

FAQ Items 9 and 10 – Taxing Open Source

FAQ 9. How does the new tax apply to use of Open Source software?

FAQ 10. Is Website Design a taxable service?

A9. Open Source software is available free on the Internet. Thus, no tax applies to the transfer of Open Source software where there is no consideration for the transfer. If a seller customizes Open Source software and sells it to one or more customers to be used on any electronic device, that customized software is subject to tax.

A10. The Department understands that website design may be accomplished in various ways. If the website designer is configuring or modifying Open Source (free) code or other prewritten software for the needs of a customer, the designer’s charges to that customer are subject to tax. If the website designer is creating custom software for its customer (that is, not based on other prewritten software), then the charges are not taxable.


I will tackle FAQ items 9 and 10 together here since my reaction spans both, and is one of astonishment. I had expected that the clarification on the tax law would be “oh my goodness, we never intended that, please let me amend that immediately!!” – but that’s plainly not the case.

This new tax law explicitly taxes software services and software consulting whenever “customizing” or “configuring” open source software is involved. This is pretty much every software application that uses open source – which is most software applications.

The tax law does exempt building completely from scratch, but I don’t know of too many projects outside academia or hobbies that would apply to since it is usually a terrible waste of time. The law also exempts just handing over open source software “as is” (if your customer doesn’t want to download it themselves?) – but if you install it for the customer, that service will be taxed (see FAQ item 21 which clarifies that software installation services are taxable).

More generally, the tax on software services is triggered by customizing or configuring any prewritten software – including software that is freely available like open source.

Response – Activism

While my first essay attempted to show how the new tax law was written to be so sweeping, my hope was this would open eyes since I thought the vagueness of the law was unintended. Appears I was wrong.

I encourage everyone to read up on this and stay fact-based. I recommend starting with the most recent DOR short overview page and especially the linked FAQ.

The time has come to get organized and respond. My plans will include:

  • Continue to increase awareness
  • Continue to work with colleagues to plan a course of action
  • Broaden the number of people I am aligning with (I’ll be making some phone calls)
  • I will be contacting (again) my state rep and senator letting them know I believe this is just wrong

What else should I do? What do you plan to do?


Open Letter on New Massachusetts Tax on Software Services

I am a long-time resident of Massachusetts and the co-owner of Development Partners Software Corporation, a small software consulting company specializing in helping businesses build custom software that effectively leverages cloud computing for competitive advantage.Tweet this story

A few days ago some changes to Massachusetts law were enacted that alter the tax policy around software consulting. I learned of this through Technical Information Release TIR 13-10 which was published to and is dated July 25, 2013.

Quoting from TIR 13-10, “Chapters 64H and 64I of the General Laws have been amended to apply the sales and use tax to certain services relating to computer system design and to modification, integration, enhancement, installation, or configuration of standardized or prewritten software.” (I’ve added emphasis on the term prewritten since that is a pivotal term.)

It is worth pointing out that I was not successful in finding the actual final legislation (all I have to go on is the TIR paraphrase) since the wording does not yet appear to be updated on the web. For example, Chapter 64H, Section 1 (which I found through this tool for searching our laws) does not contain the changes indicated in the TIR. I also could not find the phrase “information management services” – listed in the TIR as part of the updated verbiage – using the search tool.

Fear, uncertainty, and doubtFUD, for short – is well known to the software community where vendors can be highly competitive and might sometimes plant seeds of doubt about another vendor in hopes that help them get the sale. But sometimes FUD just happens by mistake when communication is unclear – and I hope this new tax legislation is that type of FUD, and we’ll soon get a “sorry, didn’t mean to scare you” clarification. But in the mean time…

I have two primary concerns about this legislation:

  1. Insanely Short Notice – Are there seriously only 7 days to prepare for this confusing, far-reaching, and disruptive change in tax policy to take effect?
  2. Sweeping Inclusiveness – The language around which types of software consulting are to be impacted includes an extremely broad range of services.

I have other concerns too, but I’m assuming there are good answers to them. For example, if I have subcontractors on a taxable project, and they are performing taxable integration work, is their time also taxable? I assume not. But would be nice to see that in writing. On to my two primary concerns…

Insanely Short Notice

The legislation was enacted on July 24, 2013  TIR 13-10 was published on July 25, 2013, and the new taxes are effective beginning on July 31, 2013.

Yes, this new tax takes effect a mere week after being made law, a mere six days after TIR 13-10 was published, and this is all for a bill that most software consultants doing business in Massachusetts are likely not even aware of it. (I heard of it through my friend Jason Haley who forwarded me the link. Like 100% of the other software consultants, I am not expecting a blind-side like this, so am not spending time watching for it, but am focused on my business.) I know I certainly would not know about it if I hadn’t been tipped off by Jason. It seems obvious to me that a significant percentage of impacted businesses will not even be aware of the new requirements until after the taxation has begun.

IANAL, but my reading suggests I have the following new obligations:

  • Determine which of my consulting services are taxable (more on this in the “Broad Inclusiveness” section below) – which may require me to retain both a lawyer and an accountant for guidance
  • Collect taxes from customers
  • Set up an online tax account with the state (?)
  • Pay periodic taxes to the state of Massachusetts

Now consider the awkwardness of the very short notice. It is naïve to think that the tax “just gets paid” – it can impact my ability to sell services (since the price tag has gone up) and makes all existing deals awkward since the cost of doing business has gone up so unexpectedly.

Consider a deal that’s in place for my company to provide $10,000 worth of (now taxable) services to a client. The $10,000 is already negotiated. Now throw in the 6.25% sales tax. Where’s the $625 for taxes supposed to come from?  If my client absorbs this, they will pay more than they budgeted. Or maybe they want to back out of the deal or want my company to take on this unexpected cost. If my company absorbs it, I will receive less revenue than budgeted. If my company receives less, what about subcontractors that’ I’ve already lined up? Or my own company’s bottom line? Change happens – I realize that, and am okay with that – but sweeping changes can be painful – and enacting such sweeping changes so suddenly seems reckless and patently unfair.

This sudden tax complicates my company’s existing and ongoing business arrangements, causes me to waste time working through these new factors with clients, and doesn’t have an iota of business value for me or my clients. An unwelcome distraction. How does this help the business climate?

A little notice would go a long way. How about at least six months or a year’s notice? I find it absurd that our lawmakers expect businesses to react so rapidly to something that is so fundamentally disruptive. I didn’t look, but it makes me wonder whether there are guidelines in the Massachusetts State Constitution around whether taxes can be implemented with such short notice.

And, as mentioned above, I looked for – but was unsuccessful in finding – the actual new law with the updated text. Shouldn’t laws be fully published before we are expected to follow them? Are they out there somewhere else but I failed to find them?

Sweeping Inclusiveness

Cribbing from TIR 13-10, “The Act also amended the definition, in section 1 of Chapter 64H, of ‘services’ that are taxable under Massachusetts sales and use taxes.” It goes on to define services as “limited to the following items: telecommunications services, computer system design services and the modification, integration, enhancement, installation or configuration of standardized software.” I added the emphasis on the term standardized since it is such an important qualifier; I am not sure why our law makers did use the term prewritten here, as was used above, or whether they consider them synonyms. Any linguists wish to offer an opinion?

I encountered an earlier draft of this law a couple of months ago and was not nearly so concerned since the focus then was Software as a Service which is so common these days that we simply call it SaaS. Exactly what constitutes SaaS is not perfectly defined, but is surely less encompassing than this new law which dropped the term Software as a Service in favor of the far broader Software Services.

Of further relevance is the first footnote in TIR 13-10 which states “The taxability of data access, data processing or information services is unchanged by the Act; these services are not subject to sales/use tax.” This seemingly gives hope – the listed activities “are not subject to sales/use tax” – until you realize that this uses different terminology than the main text which formally defines “services” as the taxable activity; the term “services” is not used in the same way in this footnote.

What is “Prewritten” Software

Let’s consider a few scenarios around the sale of prewritten software.

Consider a large software vendor selling prewritten database software and related tools. The software has been around for decades and there’s little question that it is “prewritten” and is sold many times over. Selling copies of such prewritten software logically should trigger sales tax collection. This is not changed by this law (though keep in mind IANAL).

Now suppose this large software vendor makes a million dollar deal to sell some of this software and also provide the expert services to handle the installation, configuration, and integration for the customer’s environment. Should they apportion $500k to software and $500k to consulting? Or might they be incented – for tax reasons – to negotiate $200k for the software and $800k for consulting? Shifting the cost from software licenses to services means lower taxes on the software, 6.25% of $300k in this hypothetical scenario. In this situation, the software sale can not happen without the consulting, and no consulting would be needed without the software sale. It seems that the change to the tax law would target this sort of deal – just tax the whole deal so the software vendor can’t play games just to avoid taxes.

Okay – there is obviously more that’s being taxed – but there’s a “fairness” angle there because it reduces “cheating” – so while I’m not a fan, I can at least see the logic. At first I thought the law was targeting these kinds of deals, but after reflection realized its language made it more sweeping.

What other scenarios seem included in this law? A few examples follow. But unlike the scenario described above, I see no logical tie-in with existing tax revenue streams, so I believe (hope?) these additional scenarios included by the wording in the law are unintended.

Unexpected Consequences? – Open Source Software

EDIT 01-Aug-2013: This, sadly, is officially not an unintended consequence since adding open source use to an otherwise untaxed software services project  can trigger the tax:

There is a great deal of software in use use in the world that is available for anyone to use, for any purpose, with full access to the underlying source code needed to modify or understand the software. This is commonly known as Open Source Software.

By definition, all open source software is “prewritten” software.

Examples of open source software includes the Firefox and Chrome web browsers, the Android operating system the powers mobile phones from Google, the software behind TiVo (the original DVR), and the WordPress blogging platform. This is only a very small sampling of thousands of software packages available as open source.

Let’s consider the use of WordPress. What happens when I hire someone to create me a blog? It is very common that such software projects are not built from scratch, but are based on prewritten software, such as WordPress. WordPress is then customized to suit the needs of the client, perhaps including integration with their existing database. Is building a blog with prewritten WordPress now taxable?

Not all open source software packages are known to the public, but the Linux operating system is perhaps one that is somewhat famous, even outside the software development community. Are all systems integration projects based on the prewritten Linux operation system now taxable?

If you answer that question by following-up with – It depends on whether you paid for the open source software? – then that’s even more complex. It turns out that sometimes you pay for open source software – even though you don’t have to – for a number of potential reasons, one of which is simply so someone will pick up the phone if you need technical support. Does paying for the open source software (now or months later) trigger taxation (perhaps retroactively, if I buy the software later) on the associated consulting services?

Unexpected Consequences? – Third-Party Components

Software developers frequently use third-party components in building solutions for clients since it can greatly enhance the polish, while dramatically speeding time to market and reducing project risk and complexity. While there is a lot of similarity to the use of open source software (which can also take the form of software components), let’s focus on only those third-party components which are commercially licensed. There is a significant industry around this, with a popular example being able to buy a third-party component to add “spreadsheet” functionality to a business application.

Or let’s go one step further and consider Excel itself – the ubiquitous business tool that many third-party components emulate. Excel is a software development platform in itself and can be integrated with your company’s technical environment.

Use of a third-party commercial component or building an application on top of an application like Excel definitely includes taxable software sales, but does it trigger the taxation law for the associated development services?

Unexpected Consequences? – Cloud Computing

The final example I’ll offer is where all of the above considerations converge – and then some. I personally make my living helping companies – mostly small businesses looking for a competitive edge – build their own software solutions that leverage cloud computing.

Cloud computing is all about using prewritten software. The customer builds some software for themselves – the parts that are very specific to their business – then rents all the other capabilities they need but don’t differentiate them. For example, they may build their own SaaS web or mobile applications for their customers that contains specialized logic specific to their business. Then they rent the rest of what they need – they rent the operating system, the hardware it runs on, databases, storage services, and so forth. This allows them to focus on the part that matters – and as quickly as possible get great software out there to help them build their own business.

Consider this as similar to the utility access to water or electricity. Every building needs water and electricity, but that’s rarely a business differentiator. You need it, but it’s already been figured out, and “just works” if you use the standard existing solutions. Cloud services are like this. For most business applications, a database is needed, storage services are needed, an operating system is needed, and so forth, but only a relatively small amount of logic really differentiates the application. Your application-specific logic is almost always much, much less sophisticated than services you rent, such as the Windows Server or Linux operating system or the SQL Server, SQL Azure, or MySQL database.

Databases are water and operating systems are electricity. You need these prewritten services, and you build around them. If they work well, they go unnoticed. But, in the cloud computing world, will they result in related software services being taxed?

In Closing

Reusing existing software is at the heart of what helps the software industry advance to higher levels of productivity.

Bottom line: NOT using prewritten software constitutes malpractice for most software projects!


Should we start taxing lawyers for using prewritten boilerplate contracts? Isn’t that the same as selling a service that leverages prewritten assets. I know much contract language has gone through many, many years of hardening, refining, and tuning and is effectively resold in order to make downstream deals more productive and less risky. This is very much selling a preexisting asset, with some customization (systems integration) work. Seems to me pretty analogous to what is happening with software.

I’m also wondering whether the state’s lawmakers believe the productivity and profits lost by software consultants and their clients will be made up by taxes on the additional revenue that will now flow to lawyers and accountants as the software industry scrambles to handle the understanding and execution of these new policies?


TIR 13-10 also offers that “Comments or suggestions may be sent to” so I have forwarded a link to this post to that email address. I will post here any relevant response.
01-Aug-2013 UPDATE: This morning I received the following email response:

Thank you for sending comments to the Department of Revenue regarding TIR 13-10 and the sales tax on computer/software services.  In response to the large volume of questions, the Department has posted answers to Frequently Asked Questions on the DOR Website at:

The FAQs will be updated as additional questions are received and reviewed.

My business and my home are in Needham, MA. Needham is most ably represented by Massachusetts Representative Denise Garlick (who I’ve known for many years, starting when our sons were in the same Boy Scout troop). On Monday I emailed Representative Garlick’s office a reference to this letter. On Tuesday I emailed her and Massachusetts Senator Michael F. Rush. Hoping to hear back from both.

01-Aug-2013 UPDATE: I heard back from Representative Garlick. She’s concerned and seems her understanding of the law as written may differ from DOR interpretation. Here’s an excerpt from her email:

My understanding as I voted (Massachusetts House of Representatives) is that this proposal does not tax:

·        custom built computer software

·        data recovery services

·        website design, “the cloud”

·        access to software hosted on a third party server

Further, the computer services tax included in this plan does not tax :

·        downloaded music

·        books or games

Additionally, this tax does not extend to many consumer computer services including technical support, removing software from a computer (for example, removing malware or a virus), or running diagnostics.

I think “custom built computer software” and “website design” appear (in my interpretation) to be covered as taxable in the DOR FAQ, but this contrary to Representative Garlick’s expectations when she voted for it. Rep. Garlick is also “trying to  schedule a focus group discussion in Needham with DOR to so that you may share more about business practices and any areas of uncertainty that you may regarding the legislation. I will keep you posted on a date, time, and location of the meeting. ” I told her this was an excellent idea.

I also tweeted a reference to this letter. If you are concerned and wish to share, please feel free to retweet.    Tweet this story

Your comments to this letter also welcome.

Quick: How many 9s are in your SLA?

I recently attended an event where one of the speakers was the CTO of a company built on top of Amazon cloud services, the most critical of these being the Simple Storage Service known as Amazon S3.

The S3 service runs “out there” (in the cloud) and provides a scalable repository for applications to store and manage data files. The service can support files of any size, as well as any quantity. So you can put as much stuff up there as you want – and since it is a pay-as-you-go service, you pay for what you use. The S3 service is very popular. An example of a well-known customer, according to Wikipedia, is SmugMug:

Photo hosting service SmugMug has used S3 since April 2006. They experienced a number of initial outages and slowdowns, but after one year they described it as being “considerably more reliable than our own internal storage” and claimed to have saved almost $1 million in storage costs.

Good stuff.

Of course, Amazon isn’t the only cloud vendor with such an offering. Google offers Google Storage, and Microsoft offers Windows Azure Blob Storage; both offer features and capabilities very similar to those of S3. While Amazon was the first to market, all three services are now mature, and all three companies are experts at building internet-scale systems and high-volume data storage platforms.

As I mentioned above, S3 came up during a talk I attended. The speaker – CTO of a company built entirely on Amazon services – twice touted S3’s incredibly strong Service Level Agreement (SLA). He said this was both a competitive differentiator for his company, and also a competitive differentiator for Amazon versus other cloud vendors.

Pause and think for a moment – any idea? – What is the SLA for S3? How about Google Storage? How about Windows Azure Blob Storage?

Before I give away the answer, let me remind you that a Service Level Agreement (SLA) is a written policy offered by the service provider (Amazon, Google, and Microsoft in this case) that describes the level of service being offered, how it is measured, and consequences if it is not met. Usually, the “level of service” part relates to uptime and is measured in “nines” as in 99.9% (“three nines”) and so forth. More nines is better, in general – and wikipedia offers a handy chart translating the number of nines into aggregate downtime/unavailability. (More generally, an SLA also deals with other factors – like refunds to customers if expectations are not met, what speed to expect, limitations, and more. I will focus only on the “nines” here.)

So… back to the question… For S3 and equivalent services from other vendors, how many nines are in the Amazon, Google, and Microsoft SLAs? The speaker at the talk said that S3 had an uptime SLA with 11 9s. Let me say that again – eleven nines – or 99.999999999% uptime. half-an-eye-blinkIf you attempt to look this up in the chart mentioned above, you will find this number is literally “off the chart” – the chart doesn’t go past six nines! But my back-of-the-envelope calculation says it amounts to – on average – less than 32 milliseconds of downtime per year. This is about half what “a blink of your eye” would take – yes, a mere half of an eye-blink. (Which ends with your eyes closed. :-))

This is an impressive number! If only it was true. It turns out the real SLA for Amazon S3 has exactly as many nines as the SLA for Windows Azure Blob Storage and the SLA for Google Storage: they are all 99.9%.

Storage SLAs for Amazon, Google, and Microsoft all have exactly the same number of nines: they are all 99.9%. That’s three nines.

I am not picking on the CTO I heard gushing about the (non-existant) eleven-nines SLA. (In fact, his or her identity is irrelevent to the overall discussion here.) The more interesting part to me is the impressive reality distortion field around Amazon and its platform’s capabilities. The CTO I heard speak got it wrong, but this is not the first time it was misinterpreted as an SLA, and it won’t be the last.

I tracked down the origin of the eleven nines. Amazon CTO Werners Vogels mentions in a blog post that the S3 service is “design[ed]” for “99.999999999% durability” – choosing his words carefully. Consistent with Vogels’ language is the following Amazon FAQ on the same topic:

Q: How durable is Amazon S3? Amazon S3 is designed to provide 99.999999999% durability of objects over a given year. This durability level corresponds to an average annual expected loss of 0.000000001% of objects. For example, if you store 10,000 objects with Amazon S3, you can on average expect to incur a loss of a single object once every 10,000,000 years. In addition, Amazon S3 is designed to sustain the concurrent loss of data in two facilities.

First of all, these mentions are a comment on a blog and an item in an FAQ page; neither is from a company SLA. And second, they both speak to durability of objects – not uptime or availability. And third, also critically, they say “designed” for all those nines – but guarantee nothing of the sort. Even still, it is a bold statement. And good marketing.

It is nice that Amazon can have so much confidence in their S3 design. I did not find a comparable statement about confidence in the design of their compute infrastructure… Reality is that [cloud] services are about more than design and architecture – also about implementation, operations, management, and more. To have any hope, architecture and design need to be solid, of course, but alone they cannot prevent a general service outage which could take your site down with it (and even still lose data occasionally). Some others on the interwebs are skeptical as I am, not just of Amazon, but anyone claiming too many nines.

How about the actual 99.9% “three-nines” SLA? Be careful in your expectations. As a wise man once told me, there’s a reason they are called Service Level Agreements, rather than Service Level Guarantees. There are no guarantees here.

This isn’t to pick on Amazon – other vendors have had – and will have – interruptions in service. For most companies, the cloud will still be the most cost-effective and reliable way to host your applications; few companies can compete with the big platform cloud vendors for expertise, focus, reliability, security, economies-of-scale, and efficiency. It is only a matter of time before you are there. Today, your competitors (known and unknown) are moving there already. As a wise man once told me (citing Crossing the Chasm), the innovators and early adoptors are those companies willing to trade off risk for competitive advantage. You saw it here first: this Internet thing is going to stick around for a while. Yes, and cloud services will just make too much sense to ignore. You will be on the cloud; it is only a matter of where you’ll be on the curve.

Back to all those nines… Of course, Amazon has done nothing wrong here. I see nothing inaccurate or deceptive in their documentation. But those of us in the community need to pay closer attention to what is really being described.  So here’s a small favor I ask of this technology community I am part of: Let’s please do our homework so that when we discuss and compare the cloud platforms – on blogs, when giving talks, or chatting 1:1 – we can at least keep the discussions based on facts.

Fermat’s Last Theorem is safe

I saw on twitter this morning a long time ago [it was a long time ago when I wrote this post but didn’t publish it] (from Jeff Atwood, of Coding Horror blog and Stack Overflow fame) the following elegantly and concisely stated counter-example that would – if true – disprove perhaps the most famous of mathematical theorems, Fermat’s Last Theorem (FLT):

1782^12 + 1841^12 = 1922^12

Wow! A counter-example for FLT. A theorem I’ve known about since I was a kid. One counter-example is all it takes to disprove the whole deal.

Fermat’s theorem states that the equation an + bn = cn has no solutions for integer n > 2, and integers a, b, and c not equal to zero. For n = 2 we have many solutions (Pythagorean triples), but none for n > 2. Nor should we, according to English mathematician Andrew Wiles, who proved FLT in 1995.

Until now. Or do we? The equation Jeff posted is a little awkward to validate since most calculators cannot handle numbers this size at full precision. They appear equal with a normal calculator – due to precision limits (round-off errors). Same problem with Excel.

So, since I’ve recently started playing with F#, I put together a trivial F# program (included below) to show the math at full precision, with the following results:

1782^12 + 1841^12 = 2541210258614589176288669958142428526657
1922^12 = 2541210259314801410819278649643651567616
which differ by

So Fermat is safe. Saved by F#. 🙂 But don’t feel bad if you fell for it – just be glad you knew what it meant. Bonus if  you noticed it on The Simpsons or Futurama.

The Fountainhead of Open Source

Just watched the The Fountainhead movie from 1946 (yes, from netflix).

Howard Rourke hacking Open Source code

Howard Rourke hacking Open Source

Here is the plot summary, brought up-to-date:

  • Open Source is represented by the protagonist, a brilliant architect named Howard Rourke. Rourke is idealistic, does his own thing, is uncompromising, and is not driven by money or recognition – and certainly not by Big Business.
  • Big Business is  represented by newspaper magnate Gail Wynand. Wynand wields substantial influence and is in perpetual pursuit of any means to incite the populace – an energized populace buys more product.
  • Consultants and Certified Vendor X Developers and Vendor Partners are represented by  architect Peter Keating. Keating goes with the flow, producing whatever the powers that be say is desirable. At one point, he mentions to Ms. Francon he’s polling folks on what they think of Rourke’s latest building to which she responds (with some disdain) “why, so you’ll know what you think of it?”


  • Talent != influence. Keating’s influence is limited to those who recognize his greatness. Most only recognize as great what they are told to recognize as great.
  • Passion can be directed constructively (Rourke pours his love into his life’s work) or destructively (Wynand devotes his career to controlling the masses through his newspaper).

The movie is based a book of the same title. The author, Ayn Rand, became well known for her Objectivism philosophy of life, exemplified in the movie by Gary Cooper who played the lead character, Howard Roark. [I wonder what Richard Stallman thinks of the book?]

I wonder how many professional software developers identify more with Howard Rourke or Peter Keating? And which is more desirable?

Any my clean analogies fall apart when one considers the combinations of Big  Business and Open Source. Microsoft just announced and the CodePlex Foundation “to enable the exchange of code and understanding among software companies and open source communities.”

A dirty little secret of Eclipse, Linux, Apache and other high-profile projects is that they also have professional, full-time staff – sponsored by Big Business (like IBM) – since the success of these endeavors is strategic for their business.

Maybe Open Source isn’t as pure as the romantic notion of developers from around the world contributing since it was a nice thing to do. The world-wide altruistic contributions may still be there in some cases, just supplemented by Big Business. Which is okay with me, though might not be with Howard Rourke.

Continue reading