Are Spreadsheets Software or Data?
ideveroux asks: "I have started a company which designs Excel Workbooks to duplicate paperwork required for Bingo Halls in Mississippi. In all my years of experience, I have never considered a spreadsheet itself as software, only Excel. However, the Mississippi Gaming Commission has gotten itself into my business and is trying to require me to license my company with them ($10,000.00 and government involvement) because any 'software' sold to bingo's have to be licensed by them. What is your take? Are the workbooks software by themselves? As a startup with no venture capital, I haven't the resources to secure an attorney, nor pay their extortion money. Thanks for your input." Spreadsheets have always existed in this grey area because they mix functionality with data. This issue has grown more tricky over the years as in-spreadsheet macros become more and more complex. I don't think of spreadsheet files as software, because you can't edit or execute a saved spreadsheet without it's associated application. However some can say that anything that implements an algorithm qualifies for term. What are your thoughts on the subject?
No technical definition of software will alter the circumstance, because technical issues are irrelevant to the those controlling the issue. 10,000 USD is a good fee from their point of view. It's much less than the cost of fighting the battle in court - which is also run by more Good 'Ol Boys.
I wish that there was a less pessimistic outlook. Welcome to the gap between perception and reality.
"Flyin' in just a sweet place,
Never been known to fail..."
I just wanted to poke cliff in the ribs for defining software as something that doesn't require another application to execute.
Dude, you've just eliminated *all* scripting languages from the definition of software.
*My* next step would be to ask the gaming extortion folks where you can find the definition of 'software'. There should be one.
> I don't think of spreadsheet files as software,
> because you can't edit or execute a saved
> spreadsheet without it's associated
> application. However some can say that anything
> that implements an algorithm qualifies for
> term. What are your thoughts on the subject?
The are perl scripts programs or data? Just try to run a perl script without the interpreter.
I'm sure the case could be made that Excel interprets the spreadsheet file rather than just displays it, which would make spreadsheets programs of a sort.
-Chris
-- This sig is only a test. If this were a real sig it would say something witty. --
If ever a paradigm mixed logic and presentation then spreadsheets are it.
They are software throguh and through, no question.
It would be fairly trivial to write a Turing Complete Machine interpreter entirely in VBA in Excel and I'm sure the same must be true of other spreadsheets.
Just like php, spreadsheet's consider anything literal text unless otherwise instructed.
You can embed the excel engine as an ActiveX control in other applications and use it.
What other proof would one need?
There are places where the networks are not touching,and there are places where they are-Boeing's Lori Gunter
If a spreadsheet contains nothing but data - no formulas or macros - then clearly it's data, not software. (You could just as easily distribute it as a tab-separated file, if you forgo fancy formatting.)
Macros written in a language like VBA are clearly programs: now your spreadsheet is a mixture of data and software.
An Excel formula can also easily be considered a program: it describes a computation in a form precise and formal enough that a machine can carry out the computation.
How many formulas or macros, and of what complexity, are necessary before a spreadsheet is "software" in the eyes of the law? The courts will probably have to decide this eventually; there may be no general answer. You might have to look at the purpose of the law.
In this case, the law is that bingo software must be licensed by the MGC. Why? I don't know, but perhaps it's to ensure that the taxes are paid, or that the books are kept accurately, or that the bingo numbers are drawn fairly. Then the court will probably consider whether the spreadsheet is involved in, and automates, those activities. If so, then the spreadsheet would probably be considered software that must be licensed by the MGC.
Cliff said, "... you can't edit or execute a saved spreadsheet without it's associated application." That is irrelevant. I can't execute a Perl or Python program without the right interpreter. I can't execute Java bytecodes without a VM. I can't execute Windows programs without an implementation of the Windows API. Software often relies on the presence of other software.
I think there's a few key points that could be brought up to prove that this isn't software. A software application runs on a platform to provide some sort of functionality. Given this, we could examine the spreadsheet in the same way:
Q: Can you open and execute the spreadsheet on it's own?
A: No. The spreadsheet requires a proper spreadsheet application to view it.
Q: Does the spreadsheet provide any sort of functionality by itself?
A: It doesn't do this either. Again, you have to have the application in order to give the spreadsheet any functionality.
Q: If the spreadsheet has programmatic features, such as macros, can these be executed or used to provide functionality?
A: It can't do this either. Not only are they not capable of executing themselves without an application, the macros contained are not even cross compatible. That defines them as a feature of the application, rather than a feature of the spreadsheet.
Bottom line? I think they're jerking you around, and I wouldn't stand up for it. Even though you don't have a lot of resources, there are things you can do. Besides, if we don't defend our rights, who will?
Consider: Is '5' a program or data? It is certainly interpreted from it's representation within the computer to produce a literal '5'. I think it would be folly to argue that '5' is a program, though in the process of being presented to us, it controls many things, rather like a program. Still, we consider it data.
Now, consider (1+1/1000)^1000. Is that a program or data? It certainly requires interpretation to produce a result. But that result is an approximation to e, the base of the natural logarithms. We may also series expansion approximations to irrational numbers, like pi. Are those programs? I would still say no.
I'd say this because the result of these "programs" does not change with each run. Their output may as well be data. A program with no input (and I've yet to see a spread sheet prompt, when I have it recalculate, unless there is some error) always produces the same output and can be considered identical to that output. It is precisely because spreadsheets fix the data that their embedded formulas use, that the spreadsheet as a whole can be considered data. Unlike a program, a spreadsheet isn't "run", it just "is", once the numbers are entered. Errors in the embedded formulae are no different than errors in transcription, or manual processing of the numbers. Both these are subject to audit, so incorrect embedded formulae can be caught when the data is presented. This is not so with a program, where the input and output are distinct from the program itself.
In the same way that accounting records can be audited, spreadsheets can also be audited: all the intermediate steps are still there. There is no need to "pre-audit" or "license" the program to make sure it is correct.
You could've hired me.