How to Spread The Word About Your Code
hacks.mozilla.org
hacks.mozilla.org
"An excellent example of this in action is on libcinder.org where it states right up front: 'Cinder is a community-developed, free and open source library for professional-quality creative coding in C++.' Perfect!"
I'd push back on the assertion that this is perfect. "Library for professional-quality creative coding in C++" is actually a pretty fuzzy, non-descriptive way to describe your project. The only real thing you've learned after reading it is that it's for C++; you don't know anything specific about what it does, just that it's "professional" and "creative."
The Cinder developers actually have a much better one-sentence description at the top of their About page (http://libcinder.org/about/):
"Cinder provides a powerful, intuitive toolbox for programming graphics, audio, video, networking, image processing and computational geometry."
There's still some fluffy words in there ("powerful," "intuitive"), but overall it gives you a much better answer to the question "What is this?" than the tagline cited in the article does.
Edit: Ah yes, on an HN post about the very same framework: https://news.ycombinator.com/item?id=3208552
That said, using the "Creative Coding" term makes it all very inside baseball and I totally agree it could be better. openFrameworks falls into the same trap with: "openFrameworks is an open source C++ toolkit for creative coding." Signaling to those who know without telling those who don't.
I do feel like Processing does much better with "Processing is an open source programming language and environment for people who want to create images, animations, and interactions" even if it isn't prominent. Then again Processing is the one that pretty much coined this whole "Creative Coding" thing. :)
Including a license is the #1 reason myself and many other people stray away from code on the internet. I won't touch a project if it's not stated properly.
And to be clear, just writing that your project is MIT licensed or sticking it in a package.json or making a small remark in your README doesn't cut it. You need to follow the terms of the license you wish to use (my comment on the matter: http://blog.nig.gl/post/48848761220/just-saying-something-is...)
(always a good read: http://www.codinghorror.com/blog/2007/04/pick-a-license-any-...)
Normally people are well intentioned, but sometimes you stumble upon repos with very strange licenses (for example, a javascript repo that has operating system restrictions https://github.com/stephen-hardy/xlsx.js/issues/8 ).
It's usually not of a concern for most people working on small projects (after all, another party has to notice and then decide to take action), but if you are trying to enter an industry with a highly litigious incumbent then you should make sure your ducks are in a row first.
If you count "not being allowed to use $LIBRARY because your company's lawyers won't let you use improperly code", then this is incredibly common.
The alternative scenario - using code released under an ambiguous license and then later getting sued for it - is much less common with large companies simply because good legal teams won't let that happen (see the above scenario).
I'm sure there have been examples of it, though - I know I've heard of those stories myself, even; I just can't think of them at the moment.
Unfortunately, it seems that most FOSS code on Github is not actually properly licensed: http://www.theregister.co.uk/2013/04/18/github_licensing_stu...
"That's ironic, considering the whole reason I posted the code in the first place was so other developers could benefit from that code. I could have easily avoided this unfortunate situation if I had done the right thing and included a software license with my code."
Also, a nice summary of various licenses. Thanks
My point is that it does cut it. It's up to the licensee to include the license, not the copyright holder. There is nothing improper about specifying the license and not including it in its entirety. That's just your personal interpretation of it, that has nothing to do with copyright law.
Oh, BTW, my Backbone-based grid clocks in only 6.2K minified and gzipped :) Much better documentation too. No column resizing and reordering at the moment, but working on it for the next version :P
A number of people have asked me what I used to generate the documentation. The truth is I didn't use any. I just hand-coded the whole HTML doc in Emacs using zencoding-mode. Styled it with bootstrap. The header serif font is a Mac font called Hoefler Text. The code editor is codemirror. That's it. The reason I do this is because I find pretty much all the documentation generators out there very lacking in layout controls. I could use Sphinx but I'll have to end up customizing the hell out of the default themes anyway. Might as well do it the basic way.
The API docs however is generated using JSDuck.
A million times this. It's so impossible to search for anything related to LESS. I wind up searching for "less" "css" "remaining part of query" but it still brings up a lot of irrelevant stuff.
Once you're popular, most of the popularity is due to being popular. There's very little a developer can do to make their a "popular".
As an example, Requests (http://docs.python-requests.org/en/latest/). If you've ever done URL fetching in Python you can immediately see the value and cleanliness of it.
A couple of projects I've come across don't have anything like it, and only have more of an API reference. I understand it may be early days and documentation hasn't yet been a priority, but I really love to see the advantages of the library, particularly if you compare it to the old way of doing things.
It's hard to split test these if they are working, but these two projects have gotten a lot more visibility than other open source stuff I've put out.
Over an over again I see social proof have profound effects on getting people's attention.
Haha, more like an entire five years and counting!
Thank you for the advice though. It sounds reasonable and I will use it all once I'm ready to release my creation upon the world.