Due to U.S. copyright law pretty much anything you post here is under copyright once you post it. But what are your personal thoughts on code posted here? What are your personal feelings on how code is used here? On the flip side do you do anything special to code you find here or elsewhere on the internet?

For me I figure if I post code in a public area I wouldn't care if I saw it later on down the line in a commercial application. I certainly expect to see it in homework... while I may have rights to the code my thought is that once I've made it public, it's public.

I guess if I really wanted to keep the code semi-secret I would PM it to the person that made the inquiry and attach a license.

As for code I find on forums, tutorials, etc... if I feel it's a significant amount of code (a whole method or possibly an algorithm) I will include a URL in the comments so people know I didn't make it. If somebody helps me add some lines to code I posted I will often times neglect to attribute those lines to them but in that case I figure they are explicitly helping me out and would be daft to not think I'd be using it.

This is a very interesting point and sooner or later the software development community will have to deal with this head on.

My vision of the future of software development is large databases of code that you can look up through a web browser and that you can use at your will. There are only so many ways you can do something and usually people are all doing something very similar. So why make a fuss about it.

Just think of how much development time will be saved when you know what you have to do and can go shopping for the tools (methods and libraries) you need to get your job done. If I had a cent for every time i thought to myself "Man this code has been written about a billion times since the 70's and why do I have to rewrite it when I want to do exactly the same thing?" I'd be the world's richest man.

Also this leaves any code in this database open to discussion and modification. So you see, its community debugging and everyone knows the more heads you have looking at the code, to more solid it will be. It's something you learn with experience because sometimes you get so entrenched in your way of thinking for your algorithm in mind that you let slip important basics which turn up as bugs later on.

Simply a thank you to the original author(s) in the source code is all that is needed.

Mind, you These tools are basic methods and libraries. Nothing enormous. For example methods to take strings from managed C++ to unmanaged C++. BFS, DFS, etc. algorithms, Linked List builder, Tree builder and all that. No RPG builder or no MP3 player creator types things. Strictly software development methods and libraries which you can implement into your code as modules. All the basic and semi advanced tools any software developer would need basically.

Too much time is wasted reinventing the wheel in Software Development in my opinion and not enough time is spent working on the "warp drive" of tomorrow.

I am really interested in what you all think about this and I would encourage you to post about it.

It makes sense to have established, debugged, common routines available to use and share for the sake of speedy development.

But there still has to be a mechanism in place to make money writing software.

On top of these snippets of gold, it would make sense to also establish a framework of handling error conditions, so that free-snippet#1 and free-snippet#425 share something in common with regards to invocation, error handling, behavoi<u>r, linking requirements, look and feel, etc... Too much too dispersed and nothing in common makes for a mess.

Good point Todd. There is definitely a need for an established set of rules and procedures to follow when creating or debugging code for such a project. But I would also argue that for such an idea to work, it would largely be dependent on the goodness of the community using it, commenting it and maintaining it. Much like Wikipedia.

I don't worry about it. I have a public Subversion account hosted with Google with a few dozen projects that I don't even both to put a license on. As long as someone doesn't take my projects and claim it to be theirs, I'm fine.

I don't worry about it. I have a public Subversion account hosted with Google with a few dozen projects that I don't even both to put a license on. As long as someone doesn't take my projects and claim it to be theirs, I'm fine.

Click to expand...

Which is fine, although as it stands, without a license, nobody has a right to use it at all, even if it is publically posted. For your purposes, the tiny, and simple, BSD license is probably good enough. Anyone who stands to make a profit off of snippets, routines or small libraries (in a bigger project) that is derived from your code could be in a legal quagmire without you even thinking there is a problem. Copyright is setup to protect the author, but the end result is that the author must make their intentions clear to others (via a license file usually) if they want to grant rights.

I am actually tempted to update my sig to attach a BSD license to my posts.

MacRumors attracts a broad audience
of both consumers and professionals interested in
the latest technologies and products. We also boast an active community focused on
purchasing decisions and technical aspects of the iPhone, iPod, iPad, and Mac platforms.