I'm doing Higher Order Perl now and just compiled a web spider. It was not in one piece there, nor was it in source code on author's web page. So I must have learnt it to put it into one piece. Still, all the variable names and logic are as in book. Can I put it on my public GitHub?
The book says: No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means—electronic, mechanical, photocopying, scanning, or otherwise—without prior written permission of the publisher.
The license on the web page states this: Grant of License. We grant you a nonexclusive license to use the Software for any purpose, commercial or non-commercial, as long as the following credit is included identifying the original source of the Software: "from Higher-Order Perl by Mark Dominus, published by Morgan Kaufmann Publishers, Copyright 2005 by Elsevier Inc".
Hmm, I don't know. I guess it will depend on how similar the code is, but it sounds like you have changed it and are not showing verbatim parts of the book. You are probably OK to put it on github
But please don't assume I know what I'm talking about.
@tomasz from what terdon says, it seems like they just want appropriate credit. so mention and link to the book...also mention that some of the code is based on or has been adapted from examples in the book.
note, though, that the publisher (Elsevier) are notoriously heavy-handed about copyright, and make most of their income as parasitic leeches cashing in on - and claiming copyright/ownership of - other people's work with academic journals.
@tomasz That's not the point though. They publish a book with code examples. Putting the same example on a github page and releasing it under the GPL is changing the license the code was released under. You don't have the right to do that. Now, if you read the book, understood it and then wrote something yourself that was based on what you read, then it is something completely different.
I posed the string question to WolframAlpha and it said "Twice the length from the centre to one end", lols
@tomasz Perl 6 for a generic project? As a manager I would have to look at the pre-existing expertise in my team and the budget for training, within the time limits given. Perl 6 is just another language. Given enough resources, even the most obscure language would be "worth something".
@tomasz For a private project I would look at two aspects: 1) How much "fun" would learning a new language give me, and 2) How "useful" would the final product be to me? If learning a new language (which I'm assuming Perl 6 is, or that's how I would treat it anyway, knowing Perl 5 inside and out) is fun and interesting, then it would definitely be worth it.
If the project additionally proved to be doing something that I needed doing, then that would be an additional bonus. If I was just interested in getting things done (point 2 only), then I would go for a language that I already knew.
@tomasz parrot isn't perl6. it's a virtual machine that runs parrot bytecode, just as a JVM runs java byte code. several languages can be compiled to parrot.
Perl 6 suffers from the "good enough" (or "too successful") problem of Perl 5. I've seen similar things happening to new versions of various standards where the previous version of the standard was good enough and the next version kinda died a slow and painful death due to either 1) over-design by committee, or 2) no real response/adoption from/by user community (and frequently both).
@tomasz For as long as there are system that uses Perl 5 in their base system software.
... and for as long as there are user-level programs written in Perl 5.
Yes, so "forever" is a good estimate.
Some areas where Perl 5 have historically been heavily used, like bioinformatics, have recently seen a large influx of Python programmers. This is probably due to people learning Python at university.
I'm too old for Python and will only do it if I'm forced to (like in my current project at work).
@terdon You have not mentioned it and I have not seen it. Will look in a couple of hours (I'm a bit busy this very moment)
@terdon I had a quick glance at it atd it's exactly what I'm working on at the moment, but we have support for multiple datasets and multiple reference genomes. We're probably using the same ancestral code base too...
@terdon Yes, possibly, but we have something that works for us. By "multiple datasets" I mean we have "SweGen" (a project with 1k Swedes) as one dataset on GRChg37, and a subset of the ExAC data as another. Then we have "SweGen" on GRChg38 as a third, and will likely add others. Each dataset has their own terms and agreements and user management is separate too.