I personally prefer the BSD license. To me freedom means "do whatever you want with it," as soon as you start attaching strings and restrictions it's no longer free.
Then why not make it public domain? Why attach a license at all?
System APIs: Software Architects, not coding monkeys.
Feature Set and Release Schedule: Managers
UI: Users (see also "people whining about it on the interwebs") and engineers (with minor help from UI/UX "experts")
Advertising: Marketing
Helpdesk,
I need help logging in. I have a migraine and can't get my passthought right. Can you send up two aspirin tablets.
Thanks
+1
Slashdot has a knack for expiring mod points right when they are most needed.
Weather isn't a terribly profitable industry, unless you're the ONLY one to own it.
The tactic is to create a loss leader. Drive the competition out of the market. Then reap the rewards of having a monopoly on a necessary product. Bonus points for having the government help you do it.
All those weather maps that you get for free because the government funds that satellites? The cloud maps that are shown on TV, your WeatherBug app, etc? Not only is the government going to pay, but they are not going to be allowed to freely redistribute. Everyone now pays multiple times for the same thing that we all paid for together. They are going to collect fees from The Weather Channel, CNN, every TV channel in the world (if they still want to report on US weather), each pay an additional fee. TINSTAAFL.
When it comes time to re-license the data, when the US has no more weather satellites, the USAF, USN, USCG, US Army, NOAA, NCAR, NWS, USDA, etc. will each have to license the weather data independently. Stock holders will rejoice. And the taxpayer gets fleeced again.
Here's hoping that arrays and pointers end up near the end of the book. I've seen more CS students completely hosed by profs teaching pointers, char[] and other arrays in Chapter 1, along with having them design linked lists, bubble sorts and such in their first few weeks of learning to program and their intro to C++. Teach <iostream>, <string>, <vector>, <map>, <algorithm>, etc. While doing that, teach about control structures: if, while, for, switch, and so on. Teach exceptions from the start. Then teach (properly) OO and inheritance. Drill the Liskov substitution principle into their heads when doing this. Explain about static vs. dynamic polymorphism. Then teach about pointers, arrays, data structures and algorithms. Start at the high-level and then drill down to the important stuff. Make sure that they see how fast and efficient <algorithm> is and ensure that they compare their algorithmic efficiency to what is in the standard library. I don't want to find another bubble sort or linked list implementation in production C++ code ever again.
If you want an indication of the sad state that C++ education is in, hang out on a C++ beginner forum for a while. Many schools are still teaching using pre-C++98 tools -- using Borland compilers from the early '90s. Why do that when there are really good, modern, free C++ compilers available?
IF I HAD A MINE SHAFT, I don't think I would just abandon it. There's got to be a better way. -- Jack Handley, The New Mexican, 1988.