… you don’t invent the next new thing; you breed it.
His recent response,
Music and programming: two media originating one set of mental skills with the exceptions being another computer can understand the output of code but can only replicate the output of music.
Music is God’s voice in the human heart.
You can emulate that process with a computer, but it’s just processed signal. The gap is small but of enormous importance. A friend of mine told me once that code is the real post-modernist poetry. It’s value as tender is assigned by the people making the transaction. Just as poetry has little sale value into today’s culture, code is becoming equally devalued in some currencies. That doesn’t make it without value in other currencies. The choice is one of currency.
Giving my songs to the web for free downloading was the only legal tender I had for all of the great code I was being given. It seems fair. Music is a language of human emotion. If you can work out where the heart of a computer is, you may discover a correlative value but the value of music is in the emotions produced in composing it and in hearing it.
Beyond *WOW* I think I’m going to let this one speak for itself.
Update: We’ve got some good conversation brewin’ up on this one,
… Code still deals at the end of the day with inputs and outputs - if I have a transformation that takes a given schema and maps it to another schema, and you have another transformation that takes the same inputs and maps to the same outputs, so long as the transformational mappings produce reproducably identical results, the specific mechanism by which they do so may ultimately be of little consequence. One may be more efficient than the other in certain areas, admittedly, but whether this is in fact a function of the uniqueness of the code is debatable.
He then continues,
On the other hand, the words that I write, so long as I am not explicitly plagiarizing, are stochastically likely to be unique to the author. You and I may say the same thing in the abstract, but the message is important here, and the message will introduce shades of meaning in one “instance” that may be altogether absent in the other.
>> Code still deals at the end of the day with inputs and outputs
Agreed, however, at the end of the day, code can be viewed as part of a Process, in addition to Product and Transport, and I think this distinction probably leads back to the granularity len mentions: for smaller incremental blocks of code, a black box metaphor makes sense, whereas for larger Products, ownership becomes less determinable, and collaboration and sustainability become more essential.
Well said, piers! Kurt?
In music and other kinds of art, there are techniques/chops that are freely shared but a copy is a copy and a right is a right. If one is going to copy someone else’s works, for crying out loud, show some moxie and rewrite it first.
Or cite and get permission.
Couldn’t agree more…
Thanks to each of you for your comments!
Thoughts from the community at large?
Norm Walsh: Code. Images. Words. Baby.
Giving away code is, in some sense, giving away nothing more than time and convenience. There are lots of reasons to do this, the least egocentric being that I want the convenience and benefit of using other programmer’s time. The more I share, the more others will, or at least that’s the theory.
When I sit down to write words or I take a photograph, I’m engaged in something different: it’s fundamentally not like writing code. To the extent that I’m writing facts or photographing public events, you could find someone else to write the facts or photograph the events, but no one else could write my words or take my photographs.
Good point. Then again, so is,
Giving away words and pictures is, in some sense, giving away nothing more than time and convenience. There are lots of reasons to do this, the least egocentric being that I want the convenience and benefit of using other writers and photographers time. The more I share, the more others will, or at least that’s the theory.
When I sit down to write code, I’m engaged in something different: it’s fundamentally not like writing words or taking pictures. To the extent that I’m writing transformation code, you could find someone else to write the templates, but no one else could write those templates like me.
Defining the difference between code and art is similar in nature to defining the difference between code and data — There’s a fine line between which is what, and in more cases than not, its a matter of perspective; interpretation from ones own view point.
Want some standard, run-of-the-mill, reusable template code — well that’s what templates are all about, so yeah, lets work together and build up a large base in which we can all build and extend from with our own
art . Or is it the other way around? Hmmm… I can never get those two right.
Damn recursion! ;)
Anyway, so back
Sharing with each other is an important aspect of being human, and therefore, culture. The freedom to share with each other while at the same time making a living with the things we do best or enjoy the most (or is it the other way around?) requires two things,
- The ability to share with people things that we have created.
For this example we’ll call this a “Transport.”
- The ability to place value upon these things such that we can maintain a living.
For this example we’ll call this “Product.”
The problem with the above is that when left on their own without any sort of binding mechanism, product gets chaotically transported here, there, and everywhere else, and no one is the richer because of it. As such, we need something to wrap around these two items such that order can be brought into existence, resulting in what one might term: society.
As such, we need protocol,
pro·to·col (prō’tə-kôl’, -kōl’, -kŏl’) pronunciation
1. The forms of ceremony and etiquette observed by diplomats and heads of state.
2. A code of correct conduct: safety protocols; academic protocol.
2. The first copy of a treaty or other such document before its ratification.
3. A preliminary draft or record of a transaction.
4. The plan for a course of medical treatment or for a scientific experiment.
5. Computer Science. A standard procedure for regulating data transmission between computers.
intr.v., -coled or -colled, -col·ing or -col·ling, -cols or -cols.
To form or issue protocols.
Folks, just as Java and .NET provide a framework that we can all freely build upon and extend from, providing the VM(s) without any direct cost (though the cost of the hardware and, in many cases, operating system(s), come at a cost), so to is there a need for framework of culture in which each of our respective societies can build and extend from.
Of course, technology requires that we are enabled to build upon the foundation of years past. As such, what in years past was considered product, is in present times considered foundation. Following this same pattern, what today we consider as product, tomorrow will be foundation. Technological advancement demands this to be true, otherwise there simply would not be such a thing, each of us rubbing sticks and throwing stones for individual survival.
Of course, what defines product, and what defines foundation is all a matter of perspective. What might seem like foundation to me might very well look a whole lot like product to you, and vice-versa.
So does that mean that what to me is product but to you looks more like foundation, you can then take it and do what you please, selling it to whomever it might look like product and it doesn’t matter because your perspective is different, and therefore justified?
That depends… Can you run faster than the rocks I throw at you when you do?
While this isn’t always the case, wars are fought because of the human desire to possess; to own; to occupy.
Of course, the ability to share with one another is an important aspect of any civilized society, providing opportunity to avoid war all together and be — you know — civilized.
So how can we own, share, and live civilized all at the same time?
With this in mind, please share. This stuff(communication) is important!