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?
From the perspective of someone who uses a spreadsheet of information: This stuff is data, as essential to a corporation with thousands of names to manage as lights and heat.
Software regulators might as well license the software the power company uses, because it provides light to a casino using its software.
If you are gonna give businesses this break, though, you should give the government an equivalent public good in exchange for ceding this control and revenue from software licensing.
Governments should be able to easily break in and unwittingly subpoena the records of corporations like Enron, so they can't shred 'em.
Goat sex free since 2001
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..."
It doesn't matter whether a spreadsheet can run without its app. Plenty of software has been written in languages that require an interpreter.
At least some spreadsheets (e.g. Excel) support programming languages for their macros. Clearly Visual Basic is a programming language, regardless of whether it's a good one. So anything that uses Visual Basic is an app.
Furthermore, you could argue that the mathmatical operations that a spreadsheet performs are themselves programming instructions. They're even formatted similarly to C function calls.
Basically, the only spreadsheet that could not be interpreted to be an application is one that contains data (and layout) only, and no functions.
I think it's fair to consider a spreadsheet that does something to be an application.
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'll stay away from the tech aspects of this, but lookin into the positives. As one who lives in Nevada, the State Gaming Commission here is very paranoid about anything that goes on to make sure things stay fair and legal, they even regulate the chips that go inside Slot Machines. What happens if something in your spreadsheets would allow bingo operators to skim money (gameing is permitted for the tax revenues it generates not so you can have fun), or lie about the percentage of funds being returned to players as prizes (something you might want to know about). Just the opposite, by having a registered known working version they can than compare the version in use by someone running bingo games. If they find a discrepency they can use that to prosecute or at least start an audit. Part of it may be to insure your stuff doesn't deviate from accepted accounting practices. On the positive side if you sign up your become an authorized vendor giving you an edge over some other newbie !
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?
That said, two questions stand out to me:
On the flip side, it's possible that you're dead in the water because the good people of the great state of Mississippi have already decided that Excel spreadsheets shall be considered software, not data.
For every complex problem there is an answer that is clear, simple, and wrong. -- H L Mencken
Many people here have said that a spreadsheet, even one with macros, is *not* software because you can't load it up in the computer's memory and run it like a program.
So, does that mean that any *interepreted language* can also be considered non-software because it can't run without its associated application?
If not, then if your spreadsheet has functions or macros in it that manipulate the data, then I think you have to call it software. If it's *just* data, then you shouldn't call it software.
I think you have to look at the "intention" of the item. If it's intended to be run by something, then it is software, otherwise it isn't.
+1 Insightful, -1 Troll. What can I say, I'm an Insightful Troll.
This sort of reminds me of the question that either Adobe or MS raised a few years ago about whether outline fonts were data or programs. The contention was that since Type 1 and TrueType fonts have some logic in them, they are in fact programs. IIRC, this was because programs were clearly protected under copyright laws, but fonts were not clearly defined at the time.
The closest thing I can find is a reference to a court case between Adobe and Southern Software, in which it was ruled that fonts are copyrightable. I can't find references to earlier cases, though I'm sure there were some.
In any event, there probably isn't a clear legal definition of what software is (heck, the dictionary definition isn't very clear) and whether spreadsheets or a particular spreadsheet is included in that definition. Unless you do some legal research or hire a lawyer to back up your claim, you are (as other posters pointed out) stuck with what the Mississippi Gaming Commission decides it is.
Treating this as a theoretical debate, which is probably the only worthwhile way to discuss it here, the spirit of the law strikes me as this: If you're supplying equipment to gambling enterprises, you have to give a cut to the government. You are selling equipment to gambling enterprises. The intent of the law is for you to pay.
Again, how software is precisely defined is a different issue, and you should be asking a lawyer, not us.
What I'm listening to now on Pandora...
You can implement a turing machine in a spreadsheet, and thus any algorithm. Thus, a spreadsheet is a program.
I don't think of spreadsheet files as software, because you can't edit or execute a saved spreadsheet without it's associated application.
Java programs are byte code which require an interpreter (the jre). Perl/bash/csh scripts will not run without their associated program, yet they are all considered software.
No different than "The Mark Of The Beast", this is yet another example of exclusionary practices by licensing boards. This is the evil of licensure, of restricting an individuals libery not because of their actions, but only because someone has the authority to create the restriction.
It's their rule, they win. Pay the money, or get out.
Which leads me to wonder, what about the use of other software? If they have a Windows PC, does Microsoft have such a license?
Just wondering how obviously hypocritical they licensing board is.
Bob-
The Ludwig von Mises Institute. The reasoning individuals economics
I'd argue in favor of the gaming comission on this one. Excel has a very nice scripting language known as formulas, and with VBA, it's even more powerful. I've seen Excel workbooks with dropdown menus in fields and all kinds of stuff.
Think about it in the context of a language run through an interpreter. Is the interpreter software? Yes. Are the programs that must use THAT PRORGAM to run also software? Yes. Excel workbook is the same way.
All programs require an application to run on, usually the one called the Operating System. The OS is simply an application on the BIOS, which is an appication on the chips firmware.
Try using your applications without an OS and see how far you get.
I got kicked out once when my comment was "If I wrote and tested product code to the same standard that you use for your spreadsheet code, you'd fire me."
All software is data and all data (if it's in a computing machine) is software. Programmers split them up in order to facilitate talking about them, but when you get down to it your computer is a state machine. It might seem that the 'software' manipulates 'data', but it's just as true that 'data' manipulates 'software'. If you try to separate them for legal reasons, you will only make laws that make no sense (as they seem to have done).
Laws that rely on a distinction between software and data should be challenged as ambiguous and thrown out. Is that VHS tape a bunch of data? You bet it is, but it's also analog software that runs on your VCR to display moving pictures with sound. There was a slashdot article a while back about weather or not DVDs are software. Of course they are! And they are data also. I know that there are bad legal implications of this, but that's because the laws are bad!
We thought that we were bad off when we let legislators write laws, but now that we let media companies write them, things are even worse. Our legislative bodies need large influxes of mathematitions and programmers. Logic seems to be in short supply at the state and federal level - at least in the U.S. (not to mention local, but they're hopeless).
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.
Go to a local university, and try to get as many Computer Science professors to sign a letter that says that your product is not software. Use these letters as evidence.
And the men who hold high places must be the ones who start
To mold a new reality... closer to the heart
Conversely, what you consider to be data could also be argued to be a program. That MP3 file is a series of instructions to tell the MP3 interpreter how to construct something that resembles the original waveform. A MIDI file can contain loops - software of data?
You're really asking the wrong question. The question should be "Am I distributing anything that I didn't produce myself, and if so am I permitted to do so?" It doesn't matter whether it's software or data - if you're distributing someone else's copyright material, you need a license. I don't think a court would decide that a compiler write can claim copyright over the compiler's output, but library routines are a grey area.
Whatever happens, let this be a lesson - before you buy development tools, check whether their output can be used royalty free. If not, avoid these tools wherever possible.
Just my EUR 2.00 (nose-diving exchange rate) :-)
Every bloody emperor has his hand up history's skirt [Peter Hammill/VdGG]
Unfortunately, common sense works very badly when it comes to regulation. Your best bet is to explain your situation to them, and maybe the press, politicians, etc, if you think you are being treated unfairly. It might not work for you, but maybe for the next guy :-(
And chat with him about it.
If you belong to the right party, or make some sort of campaign contribution, the gaming commission will go away.
Being involved with the gambling industry without political affiliations is a really bad idea.
Conformity is the jailer of freedom and enemy of growth. -JFK
As people have said, though, it might depend on what your spreadsheets actually do. If you don't use any internal scripting language, and it is just your plain-old, vanilla spreadsheet that sums columns and such, then it's as much "software" as a pair of shoes and a walking stick could be called a "vehicle".
The important thing, though, isn't whether or not it's software, it's do they have a long-running policy of considering spreadsheets software, and have there been any exceptions. If you can show that your stuff is just like some other stuff that they don't consider software, then that would help. If they have a long-running policy with no exceptions, though, you're probably out of luck -- I doubt you want to spend years in court trying to overturn their policy.
I don't think of spreadsheet files as software, because you can't edit or execute a saved spreadsheet without it's associated application.
There are spreadsheet compilers around that can turn a spreadheet into a standalone application.
Most Java programs run in a virtual machine.
What is the difference? Not much that I can see.
Most software runs under the control of another piece of software. For example, desktop apps (like Excel) tend to run under an OS (also a bonafide piece of software). So extending this another layer deep by having scripts and macros and worksheets execute under a dekstop app (that executes under an OS) seems pretty normal.
Your screwed.
You've created a custom solution for an industry which is highly regulated. You won't have a choice on paying any ceritifcation fees, and, you might not qualify anyway.
Even if you were contracted by each bingo hall seperatly you would probably find a requirement for certification anyway. Either you, or the end results.
Had you created an accounting package (for instance) and they happened to choose it -they- would have to deal with any certification. (Although there may be other, specific regulations in your state for accounting software).