LearningOOPWithPharo
LearningOOPWithPharo copied to clipboard
The licensing between the website and the book doesn't seem to match
Hi, the book is great and answered many of my question getting into Smalltalk in general.
I just realized the license "Share-alike" mentioned in the footer on the website:
The content of this book is released under a Creative Commons Attribution-NoCommercial-ShareAlike license.
is not the same as the "non-derivative" license in the book:

Thanks in advance for your time.
I personally would like to publicly adapt the TDD parts for glamorous toolkit's Example Driven Development, but if it is prohibiting derivatives like the book license seems to say, I would respect it and would have to keep it for my personal use only.
The BY-NC-ND PDF is quite old, and if you compile from sources now it should say BY-SA, as far as I can tell. I don't understand why it was licensed differently from all the other books in the first place.
The BY-NC-ND PDF is quite old, and if you compile from sources now it should say BY-SA, as far as I can tell. I don't understand why it was licensed differently from all the other books in the first place.
Yes, indeed, no mention of BY-NC-ND in the latest version of the code, but BY-SA in its place. So the issue is rather that the pdf export on the site is a bit old. Thanks for the heads up.
Hello I will check because I was fed up to write book that other can use and extend without my approval. I got fed up to give all my time basically for free (this is ok) but in addition to see that people can reuse my work for things I do not want/like. This is why I set this license.
BTW for the example development note that in Pharo with one class and one method you can get the same as with the 100 classes of GT. I think that this is even documented in the Test booklet.
Thanks for the glitch. I removed the license from the website (it was a copy paste).
Hello I will check because I was fed up to write book that other can use and extend without my approval. I got fed up to give all my time basically for free (this is ok) but in addition to see that people can reuse my work for things I do not want/like. This is why I set this license.
Really sorry for those past abuses. I won't add any more mediocre derivatives to worry about. I'll keep my notes to myself. ^^"
BTW for the example development note that in Pharo with one class and one method you can get the same as with the 100 classes of GT. I think that this is even documented in the Test booklet.
Do you mean that a single class would be enough to create tests returning objects and allowing reusing these objects in more complex tests, replacing, in part, the use of fixtures? I really have a lot to learn coming from Rust lang minimal testing bench. I'll look more closely for it in the litterature. :) (Also thanks for advising Markus Gälli 's thesis, it sounds a bit pompous to link to it now that I realise it. :sweat_smile: )
Yes.
In this section, we show that SUnit offers two hooks to define what a test
selector is and how to perform the test.
HiExamplesTest class >> testSelectors [
^ self methods
select: [ :each | (each selector beginsWith: 'example') and: [ each numArgs = 0 ] ]
thenCollect: [ :each | each selector ]
HiExamplesTest >> performTest
example := self class classWithExamplesToTest perform:
testSelector asSymbol
Here we define class methods but it could be instance methods.
I never understood why GT needed to reinvent the wheel and not just spend a couple of hours to provide a solution. This example is in P9. We could use a pragma if we want.