That doesn't seem consistent w/ the intended usage patterns of git and github, e.g. github's 'Fork' button is displayed prominently on every src page, for the purpose of alteration and distribution of src.
That's the point. If you fork and don't do a pull request so I can pull it back, then you're leaving an altered copy out there. Can't do that. If however you do a pull request and I pull your changes in, then your fork is no longer an alteration.
This prevents people from butchering your work because they think they know better and then leaving half-assed junk out there to screw students over, but still lets people contribute fixes.
Although, there is one that prevents modification as well if that's what you're looking for.
For one, the book is targeted to Filipino students - teachers may want to modify the names/scenarios to better suit their country. Sure, gives them a low-hanging trolling fruit (e.g. putting vulgar words in the i18n section), but I really don't have the time to review these forks.
The reaction came from "The guy just said he doesn't want to allow forks or changes" so what does it matter if github has a feature that allows it. The button isn't a licensing agreement like CC, GPL, etc are.
I'm sure there is a cottage industry of people who take creative commons works licensed without the non-commercial attribute and sell them. They aren't making a ton, but they do sell a few and it costs basically nothing to put it up on Amazon.
1. Any plans to update for 3.1 ?
2. I think its strange to address the dsl rspec for testing vs the standard rails unit test and not address other dsl like haml, sass, coffeescript (3.1). I think if you're going to go by rails community conventions vs rails framework convention then haml and sass should of been introduced.
Teaching haml and Rails at the same time would only confuse people as they will need to learn Rails AND haml at the same time. If anything, it would be better to introduce this as a "bonus chapter" or an appendix and let people choose for themselves rather than forcing them to learn something excessive.
Now, you may think that I would argue the same point for SCSS too. But now that SCSS is the default within Rails 3.1, it is "right" to teach it at the same time as Rails. The "leap" from CSS to SCSS is not as large as the one from HTML to haml, either.
this was exactly my point. You introduce RSpec rather than rails unit testing.
RSpec is also used by the majority of Rails developers (based on a random stat I pulled out of the air and due to my experience on many, many Rails projects) and it should be treated as the default, even though it is not.
...what makes you think this is less confusing? Test::Unit is blindingly simple, your assertions are plain old functions that take plain old arguments. I can build new assertions through simple function definition.
Rspec, on the other hand, adds methods to everything to let you structure your code so it reads like English. The goal here is not to be less confusing, but to be easier to read. RSpec is a lot harder to learn, and writing custom matchers is a lot more work than gluing together assertions.
Seriously, watch somebody new trying to figure out RSpec ... it's a bit of an ugly sight. Their first experience with automatic predicate matchers typically is a true wtf moment.
2. What Ryan Bigg said. :D I sometimes get a couple of extra hours at the end of a training course to teach topics like Haml, Devise, Paperclip, etc. But that's only if the students are experienced developers; I'd get in trouble if I put these topics in the course outline but couldn't cover them because the students had to take time to absorb the main topics.
UPDATE: ...and thank you much for the materials!