Posted on 09/08/2011 12:27:54 PM PDT by Swordmaker
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.
My company does not allow ANY copying of ANY source code without legal review. This is why. One little coder that uses someone else’s source code, even just a few lines, can cause major headaches. INtellectual Property rights is nothing to fool around with. A company can find someone else owns the profits if they do.
As noted by another poster, there are a limited number of ways to code a solution in a given language. Experienced coders will often come up with the same or similar results. Variations in white space, layout, variable names and comments would be expected. The "side by side" example looks like a clear "cut and paste" kind of coding where source code to the necessary solution was available and the snippet was copied to save typing. It's a common practice, but most folks are not laboring under concerns that the end product will end up under scrutiny in a court room.
(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.
It's been a long time since that's been true.
The original implementation of C++ called CFront, written by the creator of C++ itself, was just a preprocessor that translated C++ code into C. But as C++ grew in complexity (specifically when they added exception support!) C++ compilers went native.
Software is a real can of worms..
There are only so many ways to skin the cat, so to speak.
No sense in rediscovering that which is already tried and true..
but then, what would patent lawyers have to do?
Let a jury decide? Yeah, that’s the ticket.
but recall that C++ ultimately gets compiled down to C then to assembly.
not necessarily so. maybe other compilers do, but not MS.
.Net languages compile to IL to be parsed by the JIT assembler emitting native code. Non .Net is compiled
directly to native.
Developers at MS are fully aware to never introduce Open Source into MS product code. Its a serious offence. Not sure what other corps do along these lines.
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.
The author of the article needs to have every claim treated with a huge bag of salt. He is a hack for Oracle.
That being said - example 1) You can’t copyright an API! Oracle can with that all it wants - but it is a loosing battle. It’s been through the courts before, and doesn’t wash.
An API is a specification on how to talk to a functional unit. It is NOT the functional unit itself. Implementation of that API is the functional piece of software that can be copyrighted.
This is right up there with SCO trying to claim copyright ownership of error.h from the C world. It didn’t work for SCO and won’t work for Oracle.
Further - there is real power in Google’s argument about being a trivial piece of code out of millions of lines of code. They are admitting that there are something like 9 places where they may have copied a few lines of code (this example given is of that magnitude.) 9 places constituting around maybe 100 lines of code out of multiple millions makes it trivial. No way Oracle can call that a derivative work.
Lastly -as others have pointed out. There are many places where there is only one reasonable way to code something. Implementing an API puts you in a further straight-jacket.
Ignore anything that Florian Mueller publishes -because it is going to contain a very slanted point of view. I would suggest following Groklaw.net if you want to see a more accurate discussion of the blow-by-blow of the Google/Oracle lawsuit. They’ll also educate you on what the law is and what is important.
Sad to say, I could never make sense out of C syntax and structure.
You and me. Sadder to say, this too clever by half programming language has been the basis of just about every programming language that came after it, perl, Java and others that have tried to improve on the unimprovable.
I'm well aware the backends have gone to a more native appoach. GNU compilers emit RTL. I'm not real surprised to hear the MS .Net compilers are putting out code compliant with that backend.
If you think of C as the closest thing to a “platform independent assembly language” as can exist, it starts to make more sense.
I can certainly see that, but it's the nuts-and-bolts, practical side of understanding the structure, the grammar and the maddening, seemingly cryptic application of indentation that makes me crazy. T-SQL, BASIC, PASCAL and other database programming languages were never that hard to understand. Boy - did date myself with that.
Disclaimer: Opinions posted on Free Republic are those of the individual posters and do not necessarily represent the opinion of Free Republic or its management. All materials posted herein are protected by copyright law and the exemption for fair use of copyrighted works.