6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sun Nov 24, 2024 2:46 am

All times are UTC




Post new topic Reply to topic  [ 213 posts ]  Go to page Previous  1 ... 3, 4, 5, 6, 7, 8, 9 ... 15  Next
Author Message
 Post subject: Re: Breaking 6502 apart
PostPosted: Thu Aug 23, 2012 4:06 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
But you wanted it to be free to use, so you need to do something. Adding no text doesn't have the effect you thought it did.
Cheers
Ed


Top
 Profile  
Reply with quote  
 Post subject: Re: Breaking 6502 apart
PostPosted: Fri Aug 24, 2012 4:34 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8514
Location: Midwestern USA
BigEd wrote:
But you wanted it to be free to use, so you need to do something. Adding no text doesn't have the effect you thought it did.
Cheers
Ed

Ed's right.

In the USA, a copyright, with all that it entails, is implied at the moment a copyrightable work (e.g., computer software) is created. In order for your work to be completely unencumbered, you have to state so in unambiguous terms. As an example, here's the header I place in all source code I write for which I expect no compensation of any kind (example is from the source code for the POC ROM—here's another example):

Code:
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
;*                                                                                 *
;*                 W65C816S PROOF OF CONCEPT SINGLE-BOARD COMPUTER                 *
;*                                                                                 *
;*                          BASIC INPUT/OUTPUT SUBSYSTEM                           *
;* ——————————————————————————————————————————————————————————————————————————————— *
;*      Copyright ©1991-2012 by BCS Technology Limited.  All rights reserved.      *
;*                                                                                 *
;* Permission is hereby granted to copy and redistribute this  software,  provided *
;* this copyright notice remains in the source code and proper attribution is giv- *
;* en.  Redistribution, regardless of form, must be at no charge to the end  user. *
;* This code or any part thereof MAY NOT be incorporated into any package intended *
;* for sale unless written permission has been given by the copyright holder.      *
;*                                                                                 *
;* THERE IS NO WARRANTY OF ANY KIND WITH THIS SOFTWARE.  The user assumes all risk *
;* in connection with the incorporation of this software into any system.          *
;*                                                                                 *
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

That's all it takes to legally declare my intentions. Succinctly stated, it says anyone can use the code for any purpose as long as they have no intention to financially profit from it. The copyright also clearly states the origin of the software, and hence the individual or party that has legal rights to it. If I catch someone using any code I've written in a for-profit end product I can have them prosecuted for both copyright infringement and fraud. On the other hand, let's say Ed decides he wants to use my code in something that he's going to give away. He's completely in the clear to do so.

The above is somewhat in the spirit of "copyleft" (the GPL), but I don't relinquish any rights to the software.

I'm not familiar with the copyright law in most countries, but I suspect it's similar. I do know that UK copyright law has a lot of similarity to what we have in the USA, and Canada is very similar as well. The point is you have to state something, even if you don't care. Otherwise, there is nothing stopping someone else from claiming ownership of your work and then demanding that you, who developed it, pay to use it.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
 Post subject: Re: Breaking 6502 apart
PostPosted: Fri Aug 24, 2012 5:37 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
Hi BDD,
Broadly, we see this the same way, but I do have a couple of comments.

First, your homebrewed licence doesn't explicitly allow for derived works, so it allows me to redistribute but not to modify or to extract useful pieces into my own work. So I normally recommend using an existing license - in your case, CC-BY-NC-SA would allow derivation on the same terms, whereas I think there's another CC variant which disallows derivation but otherwise spells out the same intent as yours. In both cases you only need to add a minimal textual pointer and you get the benefit of a standard licence written by lawyers. The Creative Commons site makes it easy to pick the license you want without having to know these details. http://creativecommons.org/choose/

Second point, the GPL is often misunderstood, and in particular it doesn't remove or give away any of your rights. It is more permissive than your stated intention, in that it doesn't allow for a non-commercial restriction, so it isn't what you want. In all the usual licences, the originator retains copyright and is free to strike other deals at a later date. For example, you could charge for a differently licensed issue of the code, or switch licenses for a subsequent release. MySQL was historically dual-licensed.

People are often strongly polarised, either favouring GPL which gives most freedom, or MIT/BSD which impose fewest restrictions. I've used both, as appropriate. It's better to make an informed choice than to stick rigidly to a slogan! I don't believe this stuff is complicated, just misunderstood. It's hard to get people over their misconceptions, including the case where they'd like to take no action in order to have "no license" which unfortunately doesn't mean "no restriction on use".

In brief: inserting the appropriate chunk of text from an existing license is the best way.

Cheers
Ed


Top
 Profile  
Reply with quote  
 Post subject: Re: Breaking 6502 apart
PostPosted: Fri Aug 24, 2012 6:08 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8546
Location: Southern California
This all interests me, although I really hope I don't have to spend much time figuring out which protection to use. I got my '816 Forth running many years ago. Although I haven't used it much (for hardware reasons), Wally Daniels was using it on a 65265 uC in his work in the Pratt & Whitney turbine-engine plant, and I am not aware of any bugs in it. I've wanted to publish it-- it just needs some cleaning up of the documentation. Now that I have a website, I'm a little more motivated, and it's waiting in line with other materials I want to post. I also want to re-write the last bits of copyrighted material in my 6502 Forth so I can distribute it freely, and make it an assembler source. Half of that started with fig-Forth and some of that got modified to be Forth-83-compliant, and I've added so many features that the size of it doubled. In both cases, as well as shorter pieces of code or design ideas I post, I want anyone interested to be able to use it freely, modify it, distribute it, etc., but I don't want someone to see that it's not protected so they register it as their own and lock me out of distributing my own work. I read the Wikipedia article on GPL and copyleft, and wow-- there's a lot there. Any further links that help understand it are certainly welcome. Hopefully one of them will finally be quickly understandable and also show exact legalese to attach. Maybe one of the pages already linked will lead there, but I haven't spent enough time to find it and feel like I've arrived. It seems like it shouldn't be as complicated as I'm perceiving it.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
 Post subject: Re: Breaking 6502 apart
PostPosted: Fri Aug 24, 2012 7:43 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
It's actually simple: that flowchart does a good job of explaining the choices. Normally I'd recommend choosing an appropriate open source license, with CC0 as a fallback for anyone who is anxious to keep things as simple as possible. BDD's concern about no commercial exploitation pushes him towards a different CC choice, which technically means it's not open source (but it is published source, which is certainly a plus.)

Several people here have opted for LGPL, which ensures the source stays open, but allows for integration into proprietary projects.

The disadvantage of the fewest-restriction licenses such as MIT, CC and BSD is that someone can take the code, improve it by fixing bugs or adding features, and then present their work only in binary form without any sharing of the fixes. The clever thing about GPL is that it adds a restriction (of making sources available) which actually increases the freedom (of the end-user being able to study and change the source of the thing they bought)

Cheers
Ed


Top
 Profile  
Reply with quote  
 Post subject: Re: Breaking 6502 apart
PostPosted: Fri Aug 24, 2012 8:41 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8546
Location: Southern California
That's helpful to know.
Quote:
It's actually simple: that flowchart does a good job of explaining the choices.

It still has abbreviations I don't know.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
 Post subject: Re: Breaking 6502 apart
PostPosted: Fri Aug 24, 2012 12:14 pm 
Offline

Joined: Sun Apr 10, 2011 8:29 am
Posts: 597
Location: Norway/Japan
I attended a symposium not long ago where a lawyer talked about licenses and copyrights.

Quote:
use it freely, modify it, distribute it

One interesting thing this lawyer said was that for all those things above you actually have to state it explicitly. A license that gives you the right to 'use' something will not allow you to do anything else than just that, use it. You can't modify, distribute, re-license or sell. So, you have to specifically state that the recipient can use, modify, redistribute the original or the modified version, sell and so on. There are at least those four.

It all harks back to the origin of copyrighted work: Music, in particular. Copyright law had to be stated so that even if a composer gives away or sell the rights to distribute, record and sell the composer's music, that does not imply rights to _modify_ the music and change it to something else: The composer keeps those rights unless otherwise explicitly stated.

I'm not in the US but I believe copyright law is much the same everywhere where there are international agreements in place.

-Tor


Top
 Profile  
Reply with quote  
 Post subject: Re: Breaking 6502 apart
PostPosted: Fri Aug 24, 2012 1:54 pm 
Offline
User avatar

Joined: Fri Jun 22, 2012 7:39 am
Posts: 201
I added license:
http://code.google.com/p/breaks/source/ ... icense.txt

_________________
6502 addict


Top
 Profile  
Reply with quote  
 Post subject: Re: Breaking 6502 apart
PostPosted: Fri Aug 24, 2012 2:05 pm 
Offline

Joined: Sun Apr 10, 2011 8:29 am
Posts: 597
Location: Norway/Japan
Well, unfortunately that won't make any difference.. as said earlier, you really have to explicitly state certain things, otherwise it has no legal value. And 'free' in itself is ambiguous.. free as in beer, or free as in speech.

-Tor


Top
 Profile  
Reply with quote  
 Post subject: Re: Breaking 6502 apart
PostPosted: Fri Aug 24, 2012 2:51 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
org,
CC0 is your best bet: have another look at viewtopic.php?p=21076#p21076
Think of the exercise being like machine code programming: you don't need much, but you do need to be precise. The various pre-existing licenses are suitable for every practical purpose, and in your case CC0 is the right one.
Cheers
Ed


Top
 Profile  
Reply with quote  
 Post subject: Re: Breaking 6502 apart
PostPosted: Fri Aug 24, 2012 7:07 pm 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8514
Location: Midwestern USA
BigEd wrote:
First, your homebrewed licence doesn't explicitly allow for derived works, so it allows me to redistribute but not to modify or to extract useful pieces into my own work.

According to my company attorney (who is a former COBOL programmer—go figure, as well as the originator of my source code copyright header), the copyright notice, which is not a license—legally two different things—as written implicitly allows derivation, the key phrase being "Redistribution, regardless of form...". However, on thinking about Ed's comment, I decided that perhaps a more detailed wording would make it clear that derivation and distribution of the derivation are permissible:

Code:
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
;*                                                                                 *
;*                 W65C816S PROOF OF CONCEPT SINGLE-BOARD COMPUTER                 *
;*                                                                                 *
;*                          BASIC INPUT/OUTPUT SUBSYSTEM                           *
;* ——————————————————————————————————————————————————————————————————————————————— *
;*      Copyright ©1991-2012 by BCS Technology Limited.  All rights reserved.      *
;*                                                                                 *
;* Permission is hereby granted to use, copy, modify and distribute this software, *
;* provided this copyright notice remains in the source code and  proper  attribu- *
;* tion is given.  Redistribution, regardless of form, must be at no charge to the *
;* end  user.  This code or any part thereof, including any derivation, MAY NOT be *
;* incorporated into any package intended for sale,  unless written permission has *
;* been given by the copyright holder.                                             *
;*                                                                                 *
;* THERE IS NO WARRANTY OF ANY KIND WITH THIS SOFTWARE.  The user assumes all risk *
;* in connection with the incorporation of this software into any system.          *
;*                                                                                 *
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

I have problems with CC and GPL, especially the latter, which was written in an anachronistic "tone of voice" and seems to imply that no one should ever profit from the creation of computer software. Not surprisingly, CC and GPL have occasionally been taken to mean that no legal ownership exists, even though neither license says anything to that effect.

While I'm not losing sleep over possible misuse of my code, I also don't want anyone to ever think that it's not a concern. As was once said in a movie where one of the characters proved to be ineffectual at his assignment, "I told you to lay low, not to be buried!" Hence the language of my copyright header.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
 Post subject: Re: Breaking 6502 apart
PostPosted: Fri Aug 24, 2012 7:13 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
Thanks for making the update BDD.


Top
 Profile  
Reply with quote  
 Post subject: Re: Breaking 6502 apart
PostPosted: Sat Aug 25, 2012 8:51 pm 
Offline

Joined: Sat Dec 13, 2003 3:37 pm
Posts: 1004
The core problem is anything that's not specifically licensed is just that -- not licensed and can't really be used by anyone. The second problem is that many jurisdictions, notably international ones outside of the U.S. do not have the concept of "Public Domain". So, if you want someone to use your code, you really need to license it somehow.

If you really "don't care" what happens to your code, then BSD 3-Clause ( http://opensource.org/licenses/BSD-3-Clause ) or the Apache 2.0 ( http://opensource.org/licenses/apache2.0.php ) licenses are two of the most open licenses that you can use. Anyone can use them, they can use them for anything, they can change your code, they don't have to tell you or anyone, they don't have to publish the source code. What they can not do is relicense it, since they have no copyright. But they can change the code to call their own custom routines (in a separate file, licensed separately), so there's no need for an entity to be restrained by one of these licenses in any way. These licenses offer the user of the source code the most flexibility.

The GPL is if you want to make sure nobody makes changes without "giving back" to the community. The GPL requires those that use the code, and then distribute binaries, to make the source code available to those they distribute the binaries to. It also requires all of the code that that GPL code is used it to be licensed under the GPL, or something compatible. This is the "viral" nature of the GPL, and what many folks do not like about it.

Note, the GPL is a DISTRIBUTION based license. A company can take GPL'd source code, and use it internally, modify it, whatever they want and NEVER release any changes to the outside world. They are only obligated to distribute the source to whomever they have distributed the binary. Note they are not required to put it on a public website, or FTP server, or anything. They only need to give it to the entity they distribute the binary too, not the "entire world". Once released, they can't stop whomever they gave it to from doing whatever they want.

GPLv3 specifically addresses the embedded space, so, if your code is embedded in some piece of hardware (say a router), and that router is distributed, the GPL kicks in and they must make the source code available to those that request it, but also they need to release anything else that makes the software work (for example, signing keys in todays market). GPLv2 didn't have this requirement, and note that the Linux kernel is under GPL v2.

GPL is for those most concerned with there code being "taken", and imposes much more limitations on the users. It's surrounded by a thick coating of FUD and many commercial entities avoid it with a 100 foot pole.

Neither of these limit the use of your code for ethical reasons. Some folks don't want their code used by despotic regimes, or used by the military, or used for whatever. You'll likely need to add your own rider to the license in order to establish that kind of constraint.


Top
 Profile  
Reply with quote  
 Post subject: Re: Breaking 6502 apart
PostPosted: Sat Aug 25, 2012 9:13 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
Thanks for the notes. Just to add: GPL is certainly widely misunderstood: those who argue against it are usually taking a dogmatic rather than pragmatic position. Bear in mind also that you can't make your own variant of GPL by adding a rider - it's copyright! The license is subtle and ingenious: as a user you only need to understand the intent, although it's perfectly possible to understand the mechanism too. Any FUD is coming from detractors.

We have hijacked this thread a bit: I'd be happy for this discussion about licenses to be re-parented into a new thread.

Cheers
Ed


Top
 Profile  
Reply with quote  
 Post subject: Re: Breaking 6502 apart
PostPosted: Mon Aug 27, 2012 7:53 am 
Offline
User avatar

Joined: Fri Jun 22, 2012 7:39 am
Posts: 201
The last piece of 6502: interrupt priority logic.

Image

Complete transistor-level circuit is on the way ;)

Switched Google code project to MIT License.

_________________
6502 addict


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 213 posts ]  Go to page Previous  1 ... 3, 4, 5, 6, 7, 8, 9 ... 15  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 7 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: