If you want on or off the Mac Ping List, Freepmail me.
Of interest perhaps.
I’m not a coder, but it seems that in these object languages, there are only so many ways to do things.
(1) This example is incredibly trivial. Any decent programmer that was given the task to code this routine would come up with something very similar.
This is like someone quoting the first line of an entire book, and then being brought up on plagarism. “It was a dark and story night.”
(2) None the less, it was lifted. The variable names are exactly the same, a very unlikely occurance.
Software is an implementation of mathematical and logic-based algorithms, therefore not patentable.
The whole subject is a waste and only about making easy money.
When asked to write an interface for an employer, I had some latitude and instead, in the same timeframe, a few weeks, wrote a generic interface system, which enabled me to build interfaces after that with no coding, just by designing file layouts using an interface-layout building program, which took only a few minutes instead of the few weeks of design, code and test for writing a typical interface. I then left the company and went back into consulting.
Now, I would be stealing if I took a copy of that interface system and provided it to another client or employer in the future. But I still remember how I did it, so I could easily do it again, though it would also take a few weeks to design, code and test it. In that case, the new client is paying for my experience and capabilities, and they are paying me to build the same type of system for them, though it would not be identical, because I don’t have photographic memory. Even if I did have photographic memory, and essentially rebuilt the system exactly, including an exact copy of the source code of the programs, I still would be retyping the whole thing, rebuilding from scratch and testing the new system. Now, one could successfully argue that the photographic-memory copy is violating copyright law - it would be, since the copyright of a work for hire is owned by the employer. However, for a brand new design, where I can’t remember exactly what I did, but I’m making another generic interface system from scratch, I would be using the same algorithmic approach - the same math and logic - but I would be using all different names for variables and functions (sections of code). The algorithms - being math and logic - can’t be copyrighted or patented without making it impossible for anyone in the U.S. to write a generic interface system for 17 years or have to pay my ex-employer royalties. Which is utter nonsense.
The big deal is copyright - if my next client and I cook up a scheme where I copy everything I originally did before I leave my employer, then walk in to the client Monday morning, load up my system and run it in 5 minutes - that’s stealing the work I did for my former employer. The new client is too cheap to pay me for a few weeks work - or if they pay me a few weeks worth of time for just those 5 minutes, then I’m too lazy to do the work and simply want to get paid for a few weeks and not work.
Legally and ethically, it’s real straightforward: pay to have work done instead of stealing from other companies. It works out best for all involved.
And let’s not go on allowing patents to be issued for business processes of the workflow required to operate the Accounts Payable department (how can that be enforced ?) or the fastest logic for flipping bits on a screen (which is simply the product of the physics of the device and logic).
If one knows how to run a software company, proprietary bodies of work can be reasonably protected with a few basic - and legal and ethical - tactics enough so that market share and success can be had. Patents merely allow discoveries to be withheld from the marketplace by big businesses that either can’t figure out how to commercialize them or perhaps aren’t motivated enough to do so. Big business is infamous for being inept at commercializing innovative ideas.
Sad to say, I could never make sense out of C syntax and structure.
Joshua Bloch isn't your every day run of the mill java coder.