Re: Definitions of Software and Database

From: dawn <dawnwolthuis_at_gmail.com>
Date: 3 Feb 2006 13:56:12 -0800
Message-ID: <1139003772.442370.71890_at_g14g2000cwa.googlegroups.com>


Marshall Spight wrote:
> dawn wrote:
> > I thought I would start a new thread since the other was quite OT. x
> > said there was likely a legal definition of software and I haven't
> > searched for that yet, but I did find a legal def of database at
> > http://dataright.haifa.ac.il/db-definition.htm
>
> I'm unclear why we'd care what a lawyer thinks a database is.
> Are we thinking of writing legislation?

That ties back to another thread where x gave a definition of software that included the abstraction of hardware or some such. I asked how one would license such software in an effort to understand this asset. He said there was likely a legal def of software, but I have not yet found one.

> I've always liked "a database is a collection of facts." Short and
> to the point.

I'm OK with that, I think. Accurate data are facts (at least by the definition I gave in my most recent blog) and database software must work with the logical assumption of the data being accurate.

> Let's extend that to "software is a collection of instructions."
> I would prefer "... a collection of functions" but that's
> probably too specific.

Yes. That is one of the problem points. Is an arbitrary Java class "instructions"? Yes in the sense that the "data" can be used as input to other software, but not in the sense that it is, on its own, an executable instruction.

If your data contains variables or if it can only be accessed through functions that determine its representation based in its type or other information, is it software? Must software contain functions? You can write classes that have no functions specified overtly, and I would call that software, but this software doesn't run outside of some external function. Similarly, data is not accessed outside of a function, although it can remain in tact on secondary storage devices with no functions operating at the time (as can software).

> Some programming languages aren't
> organized around functions. Assembly, say.

although you could definitely call those instructions. Would a value of 5 for the variable myNumber be data? Would a tiny Java class with one class variable named myNumber with a value of 5 be software? Thanks. --dawn Received on Fri Feb 03 2006 - 22:56:12 CET

Original text of this message