At what point does changing a code make it mine

I’m drowning in the sea of licensing questions. That’s an over dramatization… but I do have a couple questions.

Most of my learning comes from books and the internet. I find a problem I am attempting to solve, I scour the internet and books and take pieces from books or from the internet to learn how to solve the problem.

I found one piece of code that helped me tremendously with creating my own code. I can’t tell if the license on the code allows me to use it in a product I am developing? I have changed many parts of the code, and am unsure when the code becomes my own?

Here is the top part of the licensing block:
/* ***** BEGIN LICENSE BLOCK *****

  • Version: MPL 1.1/GPL 2.0/LGPL 2.1
  • The contents of this file are subject to the Mozilla Public License Version
  • 1.1 (the “License”); you may not use this file except in compliance with
  • the License. You may obtain a copy of the License at
  • http://www.mozilla.org/MPL/
  • Software distributed under the License is distributed on an “AS IS” basis,
  • WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
  • for the specific language governing rights and limitations under the
  • License.

To me, this seems to talk more about the code is not responsible for breaking my computer.

The mozilla page referenced:
http://www.mozilla.org/MPL/

Which in turn references the MPL 1.1 license
http://www.mozilla.org/MPL/MPL-1.1.html

and the GPL license:
http://www.gnu.org/licenses/gpl-2.0.html

and the LGPL license:
http://www.gnu.org/licenses/lgpl-2.1.html

My understanding is I am free to use & modify the code, and use it in a work of my own and charge a fee for my completed work, as long as the code is still open to others to see and the license is included.

But my main question is… when do the changes I make on a code become significant enough that the code is my original work?

We all learn from others, no one learns in a vacuum. I just don’t know when the line of copying and a new work lies?

Thank you for your assistance.

I wish I knew the answer to that, someone else here might but I bet that like in other “copyrighted” works it is fairly ambiguious as to an exact percentage that it needs to change and you will get a different opinion on when it has been reached from your (hypothetical) lawyer than you will from that of the (hypothetical) lawyer of the person that wrote the original code.

Jerome, SpiralOcean, and any other lurkers: Let me put this to rest for you.

How much do I have to change in order to claim copyright in someone else’s work?
Only the owner of copyright in a work has the right to prepare, or to authorize someone else to create, a new version of that work. Accordingly, you cannot claim copyright to another’s work, no matter how much you change it, unless you have the owner’s consent. See Circular 14, Copyright Registration for Derivative Works.
- This is from the US Government Patent and Trademark Office!

There is no percentage - exact, approximate, or other - you can change a work to make it your own. They are Deriviative Works which require the consent of the copyright owner. PERIOD!

Spiral: In circumstances like this, let your integrity guide you (if you have any. Not saying YOU don’t but MANY people don’t!). If you feel uncomfortable about what you’re doing then don’t do it. But realize that if you’re just modifying variable names (or something as low level), you ARE stealing someone’s work. Put this to the test: If you were stripped of all the code snippets you have collected, could you write your own? If not, I say (personally) I would refrain from claiming ownership of the code.

Respectfully,
Jim Neumann
BLUEFROG

P.S. Imagine how you’d feel if someone ripped off your code and claimed it was their own. I’ve had it happen very recently. I wrote a script for Journler and some guy copied it verbatim (variable names and everything), added a few lines and started spouting off on their forums about his great script. He eventually was sort-of called out on it so he put a credit in his comments that his code was “based on” my code when it was “RIPPED OFF” from my code (and he still didn’t change it!!) :mad: These kind of people suck! I say to him, and others like him: learn how to code and write your own damn scripts! Innocent mistakes are forgivable, this was a RIP-OFF! :mad::mad::mad:

I actually have a third version of my script error trapped and with MUCH more functionality than the original he stole and no one on those boards will EVER see it because of this. And I think that is an even more unfortunate outcome of his behaviour.:frowning: Rant mode off

Thank you for the responses.

Bluefrog,

It sounds like you are the unfortunate victim of someone copying your code.
However, in the examples listed, the copyright does allow people to copy.

Let’s give a face to this argument…
Lynix, is not 100% made up out of someones head.
There is a great deal borrowed, or you might say, stolen, from Unix.
Does this mean that Lynix should be penalized?

In your example:
Put this to the test: If you were stripped of all the code snippets you have collected, could you write your own?
What if I took your test, then when I wrote my own, it was exactly the same as the code snippits I deleted?
Would it be my own?

There is a larger grey line here than you purport.
What if I forget how to do a for loop.
I go to the internet to see how it is done,
and then I write my for loop.

Have I stolen code simply because I looked up a reference?
Where is the line between stealing and referencing.

This same type of thing happens with literature.
Let’s say I read a book where an idea is introduced to me,
a year later, I write a book about another idea, with the idea I learned from the previous book included, only referenced in a different way.
Have I stolen the idea?

There is no person out there who creates ideas out of nothing.
Everything is a stepping stone.
A person may make a leap to create a new idea, but what about all the foundations of ideas they have learned from other people?
How did you learn coding?
Did it just appear in your head?
Do you reference all the books of code snippits that you learned from?
Have you stolen code and not owned up to it?

I am not a lawyer. My writing here is not legal advice, just my own thoughts on this subject.

My short answer: One may NEVER claim as one’s own a piece of code that started out as the code of someone else, no matter how much one has modified it, unless such modifications would be judged by an authoritative, reasonable third party as independent of the original work.

My basic thought on stuff like this is that unless the code has been rewritten from scratch, without reference to the original code (including, but not limited to, memorization), it is a derived work. But this metric can really only be applied internally, since as SpiralOcean hypothesizes, one could exactly reproduce the original code even though one is writing it from scratch. I would think that any near-verbatim “copy” would probably be judged as infringing unless it could be shown that, for example, a strict clean room design process was followed.

Leaving aside clean room design, perhaps a more reasonable test is how an uninvolved, reasonable third party (a judge or arbitrator) would see the situation. Some copyright disputes can come down to such situations when the only evidence (besides the code passages themselves) are the statements of the parties involved. If one could make a defensible argument (and/or demonstration) that the code is in fact an original work then one can probably safely claim it as one’s own. If one could not mount such a defense, then it one should probably not make such a claim. It would help to consult a copyright lawyer to see what might be required of such a defense/demonstration.

When developing software with or from third party components it is always extremely important to consider how the license of those components will affect one’s business plan and licensing strategy. This is goes for open source components as well as commercially licensed components.

Ideas are not copyrightable, only specific works are. See Idea-expression divide. And yes, often people writing informally do not cite sources, but failing to do so in a professional capacity can be plagiarism (which, although forgotten by most people after college/university, is a serious accusation against any professional writer, or researcher).

Spiral:

You are right in that all knowledge is synthesized from our experiences. And building on previous concepts is how new concepts are formed. No harm, no foul. But utilizing your knowledge is not stealing - misleading others by presenting someone else’s knowledge as your own without their permission is.

You said, What if I took your test, then when I wrote my own, it was exactly the same as the code snippits I deleted? Would it be my own? The answer, if your code was exactly the same is no, it is not yours. Because you would have only memorized it. (This is a rather strict approach. I’m not saying this is impossible, just highly improbable.) If you learned from them then you would have at least changed the variable names (showing you understood what the variables are and how you can make them clearer to yourself by renaming them.)

You also said, What if I forget how to do a for loop. I go to the internet to see how it is done, and then I write my for loop. Exactly! You write YOUR for loop! You don’t copy their for loop. You DO see how it’s done. How it’s done. This is learning NOT stealing. It IS stealing when you highlight the copy on someone’s web page, copy and paste in into your script, compile and send it to your boss and go have a beer.

I learned ABCs and syntax in grammar school but I am not stealing when I construct sentences. I have learned the rules and I can create based on what I have learned. I may consult a dictionary / thesaurus / even the works of favorite authors to help or augment my knowledge but I may not willingly take a line or a phrase and claim it as my own. As far as scripting goes, I have not nor will I ever intentionally plagiarize from or claim credit for someone else’s code. PERIOD. Have I read others’ scripts? Sure. Have I tried to compile someone’s script on my machine to see if it works? Of course. Have I ever taken someone’s script, broken it down, figured it out, and written one based on what I learned?(which is why MacScripter is here!!) Yes! Is it mine. Yes! Have I taken a tiny little handler that no one will notice and sneak it into my script and pretend it’s mine without giving credit in the script. HELL NO!

Rant mode re-engaged. (These comments are not directed at you, Spiral.)
I believe that this kind of behaviour is antithetical to the whole concept of MacScripter. I have had some of my code handed around - even recently I’ve seen some of my handlers (with my variables intact) being offered as solutions. Sometimes I get a nod (which is nice) but they’ve been handed around long enough that most have forgotten where they came from. But this is a gathering place to share knowledge. (It’s always surprising how ego free these boards are!) It’s not a smash and grab. It’s not where to go to save your a** because you told your boss you could script when you couldn’t and you want someone to write a script for you. It’s a place where knowledge seekers can come for help and, in return, give some help when they’re able. And it’s not just for people who want to write their own first scripts but for those of us who are wanting to write our 1,000th script better. Rant mode disengaged.

It all comes down to a matter of personal ethics. If you feel you’re in your rights to do as you see fit under the agreement then do so. If something doesn’t settle well with what you’re thinking of doing, then I’d suggest you refrain.

Once again, Respectfully,
Jim Neumann
BLUEFROG

P.S. Well put arguments, chrys.

Thank you for the responses.

I think the hard part about this process is…

having a problem to solve,
going out and finding the parts that solve the problem
putting them together
and knowing what is stealing and what is creating.

If I go find a ‘repeat loop’ example to iterate through a list,
there are only three ways to do it,
so if I write my own iteration, it is the same as the example I found.

Of course this is an simple example for our discussion.

In the case of more complex handlers,
When I see how someone else did it,
and I write my own,
how do I know what was unique to the person,
and what is just how the code works? How the code should be written.

The more complex we get with code, the more varied ways there are to accomplish the same goal.
I can learn how someone solved the coding problem.
And then write the code from scratch,
but wouldn’t it be similar to the example I found?

When I see how someone does something,
then I think, that is how it is done, I’ll write the code like this.
And then, but I need these other things to happen for my situation,
so I modify the code to fit into my application.

Have I stolen code from this person?
Where did the person get their ideas for how to solve the problem?

How different is this than just coping and paisting the code? Besides the fact that I didn’t write it, if I write it from scratch, it would still be similar.

It appears the main difference is the big picture. What is my application doing and how it does it, is the real test of copying.
If I copy a person’s application, tweak it a bit and make it better, have I stolen it? I’m sure people who do this think, if I had written it I would write it the same way. Which isn’t true, there would be differences, and the person didn’t write it, they copied it.

Perhaps it is difficult to nail this down without specific examples.

Here’s an abstraction of the idea.

Let’s say math was just invented.
And person A says…
I need to get a number two, by using two smaller numbers.
Person B comes up with a solution… you use the number 1 plus the number 1.
And that is the only solution out there. (zeros hadn’t been invented yet)

And then later person A says…
I need to get a number of 4, and I only have two numbers to use.
Person B comes up with a solution, you use number 2 plus the number 2, and no one can use my idea because I thought of it.
Person C comes up with, my idea is use number 1 plus the number 3, and no one can use my idea because I thought of it.

Then person D also needs to get a number of 4, and only has two numbers to use.
Person E says, well, you use number 2 plus number 2.
Person B gets upset that Person E stole his idea and sues Person E.

The point is… the solutions are not the property of the person, they are just how the world works.
Did person E steal Person’s B idea? Maybe he heard what Person B did, but that’s how it works, so person E didn’t think of it, but if he had thought of it, the same solution would have been arrived at.

When Newton discovered gravity, did he say no one else can use my discovery because I discovered it. He may have discovered it, but he didn’t create gravity.

All the solutions in programming are the same way, they already exist because the language rules create the programming world.

This all changes when money, respect or credit is brought into the situation.

Let’s say person B spent 1 year of their life coming up with their solution.
Then person E sees the solution, thinks it’s a good idea, and begins selling the solution for 5 skins.

Person B did all the work, but is not profiting from it.
Person E did none of the work, but is profiting from it and is credited with the idea.

That’s where all the ire comes in.

Seems like the story of my life.
I’m constantly helping, giving advice, new ideas to solutions, and more than half the time the person I gave the solution to will either tell people it was their solution, or just not say anything and let people assume it was their solution.

So my choices are:
stop giving any solutions to people and keep everything to myself unless I know I will be credited with the solution.
or
continue to give solutions, look for some joy that my solutions are out in the world and I helped bring them into being, regardless of who gets the credit.

I usually err on the latter. But there are some ideas of mine, that I keep to myself.

Even if I keep an idea to myself, there is a theory that ideas are already out there, looking for a human conduit to manifest. If I do nothing with the idea, someone else will.

Another theory is, if you stop manifesting ideas, the ideas will stop coming to you because you are not a conduit. The more ideas you manifest, the more ideas will come to you. So do I want credit for the ideas, or more ideas.

The choice comes down to… do I want to be a part of the process, the story, regardless of who gets the credit, or not be a part of the story.

I’ve heard of studies where chimps on separate continents, will have the same new technological breakthrough (use a stick to get ants out of an anthill) at the same time without having any contact with each other.

I do not feel I can reasonably respond to everything you have written here. Your posts do seem to indicate some confusion on some of these topics though.

Facts are not protected under copyright. Certain collections of facts may be protected (if they are deemed creative). The items in your maths-based hypothetical situation are probably facts. For non-trivial ideas you have forces like plagiarism and professional ethics to limit the scope of this problem. It sounds like patent law would better offer some of the protections you describe in your maths scenario (like protection from independent invention). Though I doubt the maths in question would be patentable. Also, a society without maths would probably not have patent law, either.

Ideas are not protected by copyright. Only expressions (of ideas) are covered by copyright. That is the whole point of the idea/expression divide I linked to earlier. Talk of “stealing ideas” is really outside the scope of a copyright discussion.

Ideas with unique expressions or an highly limited number of expressions are generally not protected under copyright law (see merger doctrine).

The only way to be reasonably sure that an expression is the only representation of an idea, one must be fluent in language of the expression. One can not reason from a position of ignorance or just assume unique representation for the sake of convenience.

If there were an easy answer to this question then there would not be a lot of lawyers specializing in copyright law and making more money than most, if not everyone, who is posting here. The fact is that copyright law was created to protect creative, intellectual property. It was never really intended for computer programs but for literary and visual works, long before the photograph let alone the computer. It has been expanded quite a bit in the intervening years, but I don’t I have never heard of a clear point of when something stops being a derivative work and becomes a unique creation. Basically from what I understand it has more to do with the originator’s ability to convince the courts that something is no more than a derivative work, because “guilty until proven innocent” places the burden of proof on the person bringing the lawsuit and not the defendant.

There are many examples that I can give from the creative field, from Space Balls (or any other “spoof”) to Marcell DuChamp’s “Mona Lisa with Mustache and Beard” which could be clearly considered derivative works in that they could not have existed without the original work, in one case Star Wars in the other case the copyright holder of the photograph of the Mona Lisa. These were both considered original works under copyright law though. In the literary field I believe that you are able to quote a certain percentage of a copyrighted work as long as you give credit to the originator. However if you go beyond a certain amount you cannot profit from it even if you do give the original copyright holder credit.

In something that I am a bit more familiar with, commercial art, it is common practice for illustrators to use photographs as reference, in part or in whole, for an illustration. Again this would seem to fit as a derivative piece of work, especially in the case when the photograph is used it’s entirety as the basis for an illustration. However since the work is created in a new medium then it is typically considered a new piece of work and not a derivative.

Now one of the main sticking points is that to claim copyright protection for a work you have to claim copyright protection either by filing for it (though this may be out of day today) or by in being published or in some other way have the date or creation notarized. At one time you could file with the federal government for the most certainty or a less expensive way was to mail yourself a copy, since the post mark is a legal date stamp. This way you can prove the date that you claim the work was created. I believe, and I am not completely up to date on the law, that this has been relaxed a bit in the digital age. However, not everything that you create is automatically copyrighted. If you post something on a board like this or up on the web without a date and without a copyright notice I seriously doubt that you could expect to win your case in a court of law, even though said post might have some form of date stamp to it. I believe that posting it on an open forum, without a copyright disclaimer, would be more than likely to classify the work as public domain than copyrighted material.

With computer code I would imagine that it is much the same. The first person that used:

repeat with i from 1 to 10

end repeat

would most likely not be able to expect that this snipped or the use of “i” as a variable is protected under copyright law. However the entire program probably would be as long as it was not posted in some way that might make it a work in the public domain.

Again, I am not a lawyer. If I was I would be making a lot more money, have a lot less debt, and probably not be posting on this board, so take what I say as a true laymen rough understanding of the subject. When in doubt if you think that you might be called on the table for it and you don’t have the nerve or money to try to win your case or if you have an ethical reason not to then don’t do it. Unless you hire a lawyer that specializes in this part of the legal code that’s probably the best advice anyone can give you other than to hire the lawyer, and not the local “generic” lawyer but a copyright lawyer, to give you a real legal opinion.

Just some questions/observations…

I often ask for advice here when I get stuck. Instead of being coaxed along like a student, most folks write the entire solution. This has always flabbergasted me (I mean, where does everyone get the time!?!), but I am also grateful–I learn, my boss is happy, and life is good. Sure, if I had beat my head against the problem for weeks, I might get to it, so yes, MacScripter becomes a shortcut of sorts. My only payment is to thank profusely, do my best to learn what I can from it (so I can try and help myself next time), and occassionally give-back by helping others here (not as much as I’d like to, but I try).

Since I am short on time, I will often use the “solution” provided nearly verbatim with only changes in commenting and variable names to fit my own conventions. I will concurrently ask what that person did so I can learn. If I just can’t wrap my head around it, often I will have to let the solution stand as a mystery (do script solutions are often are like that for me).

Since I often build other scripts from pieces of previous scripts, I have started giving credit in my comments, and URLs to the MacScripter thread that got me the solutions. Both for my own reference, as well as a sense of ethical responsibility to anyone else I pass my code along to.

I also freely admit one one piece of “software,” Clorox File Repair, uses a number of verbatim or mildly modified handlers/solutions people gave me from this forum. The software is freeware, which I think is the right thing to do…they gave to me freely (and the entirety of MacScripter), how I used their solutions as parts of my larger solution thus becomes an implicit “GPL” obligation of a sort. I do credit those who help on a handler-by-handler basis as needed. I suppose I should have asked everyone involved (which does include folks like Chrys, MouthOfSauron, and other noteables in this forum), but my ethical “gut” on this was that this forum is public, thus solutions are public domain by definition, and I’m not making money on my solution built from anything I get from here.

Perhaps I am due a chastising? Perhaps one of y’all are going to send a hoard of Microsoft’s lawyers after me? How do you, the MacScripter contributors, feel about your snippets/handlers posted here becoming part of other people’s work? Does it matter, as long as no money is made? Is “credit given where credit is due”? I always figured this place ran on “goodwill.”

To the original poster though I would split this rather thick hair–while my boss might be mistaken in considering me a miracle worker because a MacScripter bailed me out of an AppleScript puzzle (no matter how much I tell folks I get alot of help from MacScripter), I technically don’t make any money off anyone else’s solutions. I admit I may stay more gainfully employed because of them though. :wink: BUT I would never charge money from anything I built which used entire handlers (even slightly modified) from this forum…either by searching or by direct query. I would also never let my company, if I could help it, sell anything I wrote that used solutions I got from MacScripter (and our legal department wouldn’t anyway…they’d be wanting releases from every person who “helped” me).

So personally…if you use code for a personal solution, or even for a boss, or even a client, and as long as the code is viewable and “open,” I would not feel overly guilty. If however I was writing a turnkey solution, was “hiding” the code from users, and charging it as my own work…that crosses a line in my opinion. I’d only do that if I asked every person I got code from if it was okay. I bet alot of them would be cool with it, but I’d want explicit approval–whether I didn’t change it at all, or “only” 10%, or whatever. The spirit of it is what counts in my little ethical world.

Far more tham my 2¢ worth…

Slightly off-topic, but important in this context…

I am also a creative, and am involved in dealing with Rights Managed artwork. And it has been proven, in court, that making a medium change (such as making an illustration of a photograph) is not a protected derivative. A rather famous example was the CorelDraw contest a number of years ago. If a photograph is copyrighted (or more generally, “Rights Managed”), you cannot simply make a vector-art version in Illustrator and think it will be okay. Expect that dreaded hoard of lawyers. This is especially true of famous places/sites which have their own copyright restrictions (using photos of the Eiffel Tower in a marketing piece can get you in big trouble unless you get the proper releases from the site, or the famous whithered Monterey Cypress on Seventeen Mile Drive in California, etc.).

Admittedly, there is a balance. I work for a huge corporation, which tend to be under a microcope. So it depends on: a) how big YOU or your CLIENT are in terms of a “money target” for a lawsuit, and b) how draconian the copyright holder is. A good example is RIAA–who’d think any huge corporation would sue little children and senior citizens, but they do. So being a small fish doesn’t mean the copyright holders might just dynamite the whole pond because they can.

So when our Legal department, plus Getty Images, plus Jupiter Images, plus iStock, plus…(you get the idea)…says it is so, as do trade publications, as do court decisions–I don’t argue. I’m very practical that way. Stay away from derivative works unless you have a lawyer at your disposal or you do it only for personal use. Once money is involved, it gets really ugly, really fast.

I thought about this many years ago. At the time, I was working doing website coding in Coldfusion. My boss, a “cowboy coder,” had no actual training in programming. He saw nothing wrong with snagging javascript from someone’s website and using it on our site with no credit given to the original author.

As someone who HAS had training as well as a long history working in IT, I had some severe problems with what he was doing, but couldn’t convince him it was wrong. His attitude seemed to be that anything on the internet was fair game, free for the taking.

Having worked in IT for a long time, I know that:

A. You don’t steal another’s code. No exceptions. If you use it, ask the author if it’s OK, and give credit when you get that OK. Coders are usually happy to help each other, if you don’t burn them.

B. When coding, remember that your code will affect other people’s data. Their data is important to them. Make darned sure something works before you say it’s “done.” Clients trust that your program works.

C. Other people’s data is private. That means if you work in a place that prints financial statements (as I did), you don’t tell everyone what Barbra Streisand has in her account, even if you are dying to tell someone. Clients rely on your discretion.

When I published Towers of Hanoi, I made it a point to use pictures in public domain, Creative Commons licensed items, or pictures that I wrote and got permission to use, and documented such.

When I wrote a script that’s based on one of Apple’s (which I did once), I honor Apple’s instructions for using it. They write:

So I wrote:

It’s not hard to honor the wishes of the original coder. If you can’t abide by their rules, you should look for an alternative way of doing the job. The forbidden code can’t possibly be the only way to do what you want to do.

Everything I’ve published always is editable and includes any source code, which I’ve not restricted in any way, other than to say that it’s polite to give credit where it’s due.

My 2 cents is - courtesy is always a good idea and never costs as much as rudeness does in the long run. And ask yourself - if the code was YOURS, what would you want?

Just treat people fairly and you won’t have any problems.

For the code I post here, unless I include a copyright notice (I have not, to date, that I remember), I have no intention of pursing the enforcement of any rights I might have under copyright law.

Every time I save a piece of code that I found here, I always include a link to the original thread and name the author (sometimes the part I save is a collaboration). When I write code for posts here that reuse saved code, I try to either say “use the foo() handler from here” or include the code in the posted code along with the link and attribution. So far, I have not use any code for anything other than personal use and helping people here.

It is my understanding that copyright is inherent in recording of a “work”. So even if there is no copyright notice with a piece of code the original author still has whatever rights the law grants. Technically any copy requires permission form the author (even a copy I make to my computer but never use again).

I think it is safe to assume that the users here implicitly grant a limited copyright license to the BBS for purposes of hosting the post and further intend the code posted here to be, at a bare minimum, publicly readable. Other use (like personal experimentation for learning or use by the original poster in pursuit of their goals) seems likely, but less certain.

Unwarranted as it may be, I make the assumption that unless otherwise marked, code posted here is OK for personal use (as described below). I would contact and gain permission from any involved authors if I wanted to make any other use of their posted code.

Related to this idea of “making money from [someone else’s code]”, I have always seen it is a matter of degree. By “use the code” I mean use an application, script, etc. that incorporates the code. Here are some classes of use where I describe hypothetical situations where I might use code found originally in posts here.

PERSONAL USE. Personal use is where I just use a piece of code to do something that is unrelated to anything I do to make money. Maybe it is something to do with photo management and I am an amateur photographer that never enters any contests with rewards. That code never helps me make any money, it just helps me better use my free time. Perhaps use intended for learning is also in this category. Learning from the code does not necessarily involve copying, so copyright law not be applicable (though memorization and verbatim retyping is probably considered copying). Non-hypothetically, by reading and experimenting with code posted here I have learned much about AppleScript and its associated environments.

BUSINESS USE. Then there is code that I might use in the course of doing my job. Maybe part of my job is to manage a library of artwork for a company. Some photo management code helps me do my job more efficiently. This effectively makes money for the company every time I use it (since, presumably, I get more work done). A “smaller” version of this would be something that helped me do a one-time task. It made money for the company, but only once. A “bigger” version of this is when multiple people regularly use the code in the process of their jobs.

COMMERCIAL USE. Then there is code that I incorporate into a product that my company sells for a profit. Here the company is arguably selling the code, which is where I think most “commercial use” copyright license clauses take effect. This type of code use can be further complicated by corporate strategy. Maybe the company is selling the product at a loss (or even giving it away for free) as a loss leader to encourage other purchases (OK, selling software at a loss is probably hard to do since the reproduction costs are so low, maybe it is a hardware/software bundle). Technically, the company is losing money, but presumably they are gaining value in some other way.

SERVICE USE. Now consider a commercial service that uses the code as part of providing the service (maybe it is fully automated, maybe it is part of something that the employees do to maintain the service). The code is making money for the company. To some degree they are selling access to the code. But they are not selling copies of the code itself. This is really a blend of business use and commercial use. By the facts it seems like business use, but if the code is important enough, it feels like commercial use since the company is directly deriving value from the code.

It seems to me that all of these categories of use make money from the code for some entity (usually the company, which might even just be a sole proprietorship which means it is making money directly for a person). Some of them are harder to quantify then others, but there is value being derived from use of the code. Copyright seems most easily applicable to the commercial use category since I would pretty much have to make copies to sell them. It is applicable to the others, but in a different way because the derived value is not necessarily proportionate to the number of copies of the code in use. Authors wanting to make money through commercial (re)use would likely want to arrange per-unit fees in their license. Authors wantings to make money through the other categories would probably need to work more closely with the code (re)users to come up with custom licenses that may involve large one-time fees (or what amounts to one-time fees since only one copy may ever be needed).

Maybe the best thing for those that care to do is to start including a copyright notice and license in their posted code (on an individual basis, this probably is not something the BBS can do for its users). It might not be easy to identify exactly what license you want (I might start by looking at Creative Commons and the various open source licenses), but it would go a ways towards potentially clearing up confusion for people that want to use the code. Then again, maybe it would just make users nervous and have more of a chilling effect on collaborations and contributions.

If the license can be referenced instead of written out in full text it might be small enough to be non-threatening. I would not recommend doing this without serious consideration (yes, it would be work to read all those licenses and think about them), but it might be worthwhile. Maybe that notice is not sufficient or suitable. Better check with a copyright lawyer (sigh).

I think, in this discussion, we’ve lost sight of something. When someone posts a plea for help on the BBS, and someone responds with some code, it should be ASSUMED that the code posted is meant to help the person who originally posted and is therefore FREE to be used.

If you post code to “help” and then want to regulate its use, you shouldn’t be posting in the first place, should you? That’s not help, that’s next to a commercial sale, which isn’t what the BBS is all about.

Again, my 2 cents…:rolleyes:

This has always been my assumption.

While I agree to a degree with chrys, that would mean every question I ask would be pointless, because every question I ask by nature these days helps me at work, thus helps my employer by helping me get more work done.

In the case if Clorox File Repair, it not only help me and my department, but every one of our vendors and by tangent, the company whose asset manager cause me to have to write the Repairs for (since it fixes their “bug” in a round about fashion). The upside is that Clorox File Repair can help non-Clorox users who don’t even use the same asset manager we do…it works for alot more generic instances and thus others find it useful (already helped some poor Quark user out of a jam who wrote me…and my software wasn’t even designed with Xpress users in mind!).

So in some ways, by chrys’ definitions, I’d have to worry about licensing issues, which would involve the Legal department over here, which would mean I’d be better off not asking for help because it would cause more work than beating my own head against it for weeks, which in the end would mean I wouldn’t write the script anyway likely, and then I’d learn nothing except what books can teach me. Trust me, you folks teach me alot more than the two mega-books on my desk do. :wink:

Now I admit, until recently I wasn’t as religious about crediting authors when they gave me code to use from MacScripter…mostly in my first couple of months here. But as I became more a part of the “community” and began getting very robust answers to incredibly complex questions, it just occurred to me that they geniuses deserve credit. So all my code gives MacScripter URLs to the threads where I get the code from (since the code can mutate even after I get it) and the screen name of the person I consider to have “solved” the issue for me. Now if someone gives me a single line of code or a correction I don’t credit, but if I ask what I think is a simple question and I get a complete handler then, wow, the least I can do is add a few lines of comment code!

Kevin, since you are an Admin here, I appreciate you weighing-in on this. I want to “do the right thing” and it sounds like I have, at least in the eyes of one of the administrators. Last thing I want to do is piss-off the participants here by making them feel like I’m “stealing” from here.

Yes, that is my opinion, too. I post here to try to be helpful and I do not expect anything back in return. Thanks and credits are very nice and highly appreciated, but I expect nothing.

This is just me being pedantic: Technically, as far as I can tell (which may not be all that far since I am not a lawyer), posting code does not give an explicit license for anyone to use that code. There might be a strong and defensible argument to be made that posting code on a public forum gives implicit permission for (at the very least) the original poster to use the code. But it is just an argument for reasonable use, not explicit permission. I think it is probably a powerful argument, but, again, I am not a lawyer, so I am not fit to really analyze the merits of such an argument.

I suppose that was one of the points I was trying to make. It probably got lost in all the other junk I wrote.

Maybe the whole issue of implicit permission to use code from the BBS is best ignored (it has worked so far). But that does not make the potential issue go away (unless there is some legal precedent on this type of implicit permission).

Edit history: Added last paragraph.

Let me confess at the outset that I’ve skimmed through this thread and quite possibly not digested its nuances. Having said that, however, I think an important point has been only vaguely raised: the learning curve. In the instance Jim Neumann alluded to, I was involved and wrote a chastising post in the thread in which the plagiarist of Jim’s script was expounding on his improvement of it. In that instance, as Jim points out, there was no “learning” from his script, there was a wholesale import without attribution. Had I been author of that script extension, I would have included the comment: (An extension of a script by Jim Neumann), and you’ve all seen answers from me here in which I say "modification of a script by Kai Edwards (or Nigel Garvey, etc.) because I do try to keep track of where I get them.

But now suppose that I read one of Nigel’s insightful posts with an included example and I learn something (as I often do). Later, I bring that insight to bear on one of my problems, but don’t actually use any of the sample code – I’m using the algorithm or method he employed, if you like, not his instantiation in code. In those instances (and Mr. G will corroborate this) I often PM him and ask where the idea came from. If it’s his, I say so, but because he has voluminous records of where he sees things, he will often say that it was Arthur Knapp (AdmiralNovia, here) or someone else who discovered the method and even remember where.

Having said that, there are times when I simply cannot remember and haven’t recorded where I saw a neat trick – it was too long ago. Consider this example originally posted by Kai Edwards – what it does is parse an error message telling you that Applescript can’t coerce a record to a string (even though it has done so in the error message). I don’t know who first thought of this, but I do know (from him years ago) that it wasn’t him. I’ve used the idea of parsing an error message to get a record as text many times – to whom should I attribute that? I don’t know. Does that mean I shouldn’t use it? It is a hack, after all, and is not guaranteed to continue to work forever, but it saves your buns when you need to get a record as text.

on quoted_text for v
	try
		{v}'s v
	on error v
		set d to text item delimiters
		set text item delimiters to "{"
		set v to v's text from text item 2 to end
		set text item delimiters to "}"
		set v to v's text beginning thru text item -2
		set text item delimiters to d
		v
	end try
end quoted_text

set MyRecord to {A1:"Foo", A2:"Bar"}
choose from list {1, 2}
set myPick to "A" & result
set myVal to run script (quoted_text for MyRecord) & "'s " & myPick

My point here (I hope it’s clear), is that it’s difficult to give proper attribution for an AppleScript method sometimes, but it should never be difficult to give proper attribution for a piece of code used, even if you change the names of the variables; and if you’re going to do that for profit (as contrasted with posting a helpful answer in a forum) then you should have the author’s permission.

Having said that, however, it is incumbent on the author of a neat piece of code posted to a forum to state unequivocally in the post in which he reveals it that the code and method it embodies are his intellectual property if he feels strongly about that, and an author who does, really shouldn’t be posting in a public forum. I post code to the Journler forums all the time (as an avid Journler user), and don’t expect to have it attributed to me if someone else modifies it – having been a professor of engineering for nearly 40 years, I’ve revealed literally thousands of useful ideas to classes full of students without any expectation that I would profit from them if a student used them, and several students have over the years. Not everyone feels that way, however, but if they don’t, then they should not have mentioned them in a classroom.

What I’m saying is that if a student of mine poached an idea of mine that I had presented in a classroom, and did so without attribution, I would consider that to be rather impolite, crass, even – but I would not consider it actionable, and a forum like this bbs, is, after all, a bit like a classroom.

Well put Adam.

If posting on a board, a poster should have the mindset of a teacher.

Quoting “The War of Art” by Steven Pressfield:
"We are servants of the Mystery.
We were put here on earth to acts as agents of the Infinite,
to bring into existence that which is not yet,
but which will be, through us.

To acknowledge that reality,
to efface all ego,
to let the work come through us
and give it back freely to its source,
that, in my opinion,
is as true to reality as it gets.