This week we released an early access version of the book, Programming in Scala, in PDF form. With this work, Artima enters the world of book publishing for the first time. In this blog post, I explain what we did and why, and what this means for Artima in the future.
Last week we released an early access version of a new book, Programming in Scala, in PDF form. With this work, Artima enters the world of book publishing for the first time. We see book publishing as a way to augment our web publishing efforts, and plan to publish more books over time.
For some time now
I have been looking for a language that gives the productivity benefits of Ruby or Python, but one that is statically
typed and allows us to continue to benefit from our investment in Java. Scala fits our needs well, and we have already started using Scala internally at Artima for our own development projects.
Scala is also similar to Ruby and Python in that programming in it is a lot of fun. Learning Scala (and I'm still learning it)
has been intellectually exciting for me, because it has broadened my horizons. Having spent my programming career primarily with
C, C++, and Java, I found that working with Scala has exposed me to new ideas and attitudes that have changed how I
think about software design in important ways.
How did we end up publishing a Scala tutorial as our first book?
About a year ago, I emailed Martin Odersky, the creator of the Scala language, indicating we'd be interested in publishing articles on Artima that would help OO programmers learn about functional programming ideas. I had been getting the feeling that functional programming was poised to become more accepted in “mainstream” programming circles, and that Scala could be an important language in that shift. In my career, I had migrated from C, to C++, to Java, and as a result did not have much background in functional programming. I figured there were probably a lot of programmers in that category. Just as C programmers needed help learning OO concepts when moving to C++, I figured many OO programmers today might want some help learning functional programming concepts.
In the phone conversation that followed, Martin mentioned he wanted to not only publish articles but also a book. I replied that we'd been planning on entering the world of book publishing at Artima. One thing led to another and we ended up signing a book contract with Martin Odersky and Lex Spoon to publish their Scala tutorial. In the original plan, I was to serve as editor for the book, but I ended up writing enough new material that we decided to list my name as an author as well. Nevertheless, the book has been primarily written by Martin and Lex, and they are of course the real Scala experts.
About the book
We have worked hard to make both the PDF eBook and ultimately the paper book easy to use and a pleasure to read. It has
been fun to work on the typography and layout, because we finally have a level of control that is lacking in
web publishing. We've tried to make the eBook easy to navigate by including useful hyperlinks, both embedded in the text and in running headers and footers, which make using the PDF feel a bit more like using a web site. In addition, our goal was that you could comfortably read the eBook on a laptop screen without needing to scroll. In the past, I've found most PDF documents a pain to read on-screen, so I tried hard to make this PDF an
exception to that rule. The eBook also prints well, so you can print out a chapter at a time, or the
whole thing if you want, to carry with you and read on paper.
You can purchase a PrePrintTM Edition of the eBook today for $22.50, or an eBook/Paper Book
combo for $45.95. We hope to have the paper book out for JavaOne, which is early May 2008. If you buy the combo now,
we'll ship you the paper book once it is printed.
A PrePrintTM Edition is a work-in-progress PDF that gives readers early access
to the information, and the authors valuable feedback. We'll publish periodic updates to the eBook over the next
few months. People who buy the eBook now may download all the updates, as well as the final version of the eBook,
for no additional charge.
We also set up a small web application, called “BackTalk,” to collect reader feedback. We put a Suggest
link in the footer of each page. If you have something to say about the book, you just click on that link and your browser will open and
take you to the BackTalk application on Artima.com. We'll know the page number and eBook version, so you can simply type
your comment. We're hoping to enlist the power of many eyeballs, from which open source projects benefit, to help make
this book even better—and it's already working. A lot of very helpful comments have come in through BackTalk from people
who bought the book last week.
Although we are excited to get our first book out the door last week, I want to reassure our readers that Artima will
not be “going Scala” completely in our editorial coverage. Scala is one of many languages and technologies that
we've been covering in the past, and we plan to continue that diverse coverage in the future. Our editorial focus is still programming
best practice, with the aim of keeping programmers informed about products, projects, and ideas that can help them work
In closing I wanted to say thanks to everyone who has been visiting Artima these many years. Thank you for reading and participating
on the site. The Scala book is a big milestone for us. We're excited to be adding print publication to our web publishing efforts, and
we couldn't have done it without you, our audience. To find out more about the book (or buy it), visit
the Programming in Scala page.
I first had to register, which was odious, and took too many steps, but navigable at least.
But then I had to agree to the terms of an absurd "eBook license", which denies me the ability to transfer the right to read the book in question to another party under any circumstances. I would never agree to such a ridiculous license. Are you going to make people agree not to sell their used copies of the paper book, as well?
Anyway, I'd love to buy the book, but can't as long as that license applies.
> I have posted this same message here: > https://www.artima.com/forums/flat.jsp?forum=282&thread=220 > 982 > > I wanted to buy the PDF copy of the Scala book. > > I first had to register, which was odious, and took too > many steps, but navigable at least. > We're working this week to make the checkout process less cumbersome. You'll only need to give us an email address and password to register, and not need to verify the email. If you make a purchase that will validate your account, i.e., that you are indeed a real person not a script. You'll then be able to login to Artima with your email, and later if you wish add a nickname. So the nickname will be optional. This had been in the works for a long time, but we didn't quite get it finished prior to the release of the Scala book.
> But then I had to agree to the terms of an absurd "eBook > license", which denies me the ability to transfer the > right to read the book in question to another party under > any circumstances. I would never agree to such a > ridiculous license. Are you going to make people agree not > to sell their used copies of the paper book, as well? > > Anyway, I'd love to buy the book, but can't as long as > that license applies. > I actually was considering making the license such that you can transfer ownership, in effect, when you purchase it, but if you did so would need to destroy all copies you have after the transfer was made. This way you could buy the eBook for someone as a gift, for example. But I didn't have time before our release to discuss that with the lawyers. So that may happen in the future, but for the meantime, it is licensed for use by the person who purchased it.
We aren't going to make people agree not to sell their used copies of the paper book, nor could we. The difference between these two is that someone could much more easily make electronic or print copies of the eBook than the paper one. And a used eBook is pretty much as good as a new one. Thus eBooks are licensed to individuals, whereas the paper books will be sold, not licensed.
What I tried to do in the license is give that individual the freedom to do whatever I could imagine they might want to do to effectively read and use the eBook. They can store it on as many computers as they want, print it in whole or in part so they can read it on paper, etc. The main caveat is that all those things must be done for that individual's own personal use.
I was very excited to see the ad for this book. For a while, I've thought about writing a large application in Scala that would allow me to get familiar with the language but wanted some form of reference/guide before undertaking it. The timing for the book is great.
I'm only in the first chapter, but so far so good.
Please keep the Scala information coming. The language has me excited because I can develop new techniques while not throwing away all my experience over 16 years.
> And a used eBook is pretty much as good as a new one.
I feel much the same way about used books, and buy them all the time for that reason.
> What I tried to do in the license is give that individual > the freedom to do whatever I could imagine they might want > to do to effectively read and use the eBook.
I'd ask you to imagine that I might want to sell it to someone.
> They can > store it on as many computers as they want, print it in > whole or in part so they can read it on paper, etc. The > main caveat is that all those things must be done for that > individual's own personal use.
So why not permit me to transfer that privilege to another person? Remember that by "transfer", I do not mean "duplicate". I mean I give up my right to read the book, and someone else gets it. Just like with a "real" book.
For what it's worth, I'm really enjoying learning and reading about Scala in the various freely available documents. I'm a huge Artima fan for its high-minded technical content. I simply believe that the license in question is misguided, and that you ought to rescind it. You'd be doing yourself a favor. I don't see what harm could result.
> > They can > > store it on as many computers as they want, print it in > > whole or in part so they can read it on paper, etc. The > > main caveat is that all those things must be done for > that > > individual's own personal use. > > So why not permit me to transfer that privilege to another > person? Remember that by "transfer", I do not mean > "duplicate". I mean I give up my right to read the book, > and someone else gets it. Just like with a "real" book. > > For what it's worth, I'm really enjoying learning and > reading about Scala in the various freely available > documents. I'm a huge Artima fan for its high-minded > technical content. I simply believe that the license in > question is misguided, and that you ought to rescind it. > You'd be doing yourself a favor. I don't see what harm > could result. > Thanks for your feedback, Jonathan. What you're saying is reasonable. I did think about whether or not to allow general transfer as you are requesting prior to our release last week. One reason I didn't do that was that I actually created the license kind of at the last minute before the release and didn't have time to really go over all the implications of general transfer with legal and others. Most importantly I didn't have time to write a general transfer clause carefully with legal advice so that I didn't inadvertently allow people to print up 1000 copies and sell them. I had planned already to investigate just what you've described, but I don't know yet how it will come out.
I had also looked at how other publishers were licensing their eBooks. The Prags, for example, whose program ours most closely models, does the same thing. See the answer to "Can I sell a used PDF like I can a paper book?" on this page:
I think with Safari it may be more obvious that this service is different from a paper book, whereas downloading an eBook PDF may seem more like an electronic version of a book. But an eBook is a bit more like software than a paper book.
Nevertheless, I will indeed investigate with legal and others the general transfer that you are talking about. Just because other publishers are doing this doesn't mean its right for us. I'll post an answer in this forum when I have it.
Any chance of posting a smallish snippet of a chapter from the eBook? I'd like to get a feel for the writing style and layout (what exists at this stage) before putting down any money.
As I recall O'Reilly's Safari shows a paragraph or two of each section (chapter?) of a book for free. Full access to the content requires a subscription.
To be honest, I'm just trying to determine if the book is written better than the many disappointing online tutorials I've read. I'm sure it is of course ;^) but in general I like to "try before I buy".
> Any chance of posting a smallish snippet of a chapter from > the eBook? I'd like to get a feel for the writing style > and layout (what exists at this stage) before putting down > any money. > > As I recall O'Reilly's Safari shows a paragraph or two of > each section (chapter?) of a book for free. Full access to > the content requires a subscription. > > To be honest, I'm just trying to determine if the book is > written better than the many disappointing online > tutorials I've read. I'm sure it is of course ;^) but in > general I like to "try before I buy". > Yes, I'm planning on putting up some sample chapters. I didn't do so yet because I realized only after our release last week that we don't have a way to build one chapter of the eBook. I could easily release a chapter of the printed book, but that is different from the eBook. If I just snip a portion of the eBook and make a new PDF that way, a bunch of the hyperlinks would be broken. So what we really need is a build target that grays out any broken hyperlinks, I think. Anyway, this week we're focusing on improving the checkout process, and after that we'll do the sample chapter build.
In the meantime, you can get an idea from looking at this article:
> Can I ask what has disappointed you about online tutorials you've read?
In general they have too much here's-an-example and too little here's-why. Also, a lot of here's-a-tenth-way-you-can-do-X and not enough in-Scala-approach-eight-is-best-because.
Maybe it's the fact that I'm looking at tutorials and not more in depth articles. I'd love to find an "Effective Java" quality text for Scala. Maybe the language is not mature enough yet for such a treatment.
But something like a "best practices" would be most welcome.
> Perhaps you've missed 20 years of IP/techno/legal arms > race around CDs and DVDs? If you missed this gem > by Mark Pilgrim, you ought to check it out: > >
Lending and transferring only work so long as copying one-off's is laborious, too laborious to pay off. You make it sound like the DRM attempts have lots of new ideas, but from the broader perspective I think copying is getting easier rather than harder. I talk about it more here:
My second computer, back in the 80's, was a clone of the Apple II. Since the hardware was less diverse back then, a lot of software got away with tricks like "half tracks" on their floppy disks. The half tracks idea is that software tells the drive head to start moving and then interrupts it before it gets to the target, thus leaving the head in between standard tracks. Standard disk software would not understand data written to these half tracks and so could not copy the disk.
It didn't really work, though. It was not only possible to copy these disks, but my computer came with software to help you do it. It had built-in rules for hundreds of popular titles, and it had a workbench mode where you could hack your own floppies. The trend since then has been for hardware to get more diverse, not less.
Anyway, you're right that I don't know all the tricks, and maybe I have overlooked a good one. My impression, though, is that copying is easy enough even with the best DRM that we should probably not try. Thus, it feels right that artima is going that way with it. It means our distribution jives with the fundamentals. If you have a weirdo projector displaying stuff on the ceiling over your bed, then go right ahead. Play the Scala book on your ceiling.
You missed my point, which was precisely that technical controls against duplication are inevitably worthless, and that, therefore, copying is inevitable. I meant to imply that adding arbitrary legal restrictions (versus CDs and DVDs) are not sensible in this medium ("eBooks"). You're allowed to resell CDs and DVDs, i.e., you're allowed to transfer the right to view.
> What is the best place to report issues with the book? > This forum? > If you find a typo or other errata, or find something confusing, or out of order--pretty much any kind of suggestion other than formatting problems--please click on the Suggest link at the bottom of the eBook. That will take you to a form where you can type in your comment. The good thing about doing it that way is we get the page and version number associated with your comment automatically, so we can more dependably find the spot in the manuscript that you're talking about. A lot of readers have done that already, and it has been very helpful. So we encourage you to do so as well. You can help us make the book the best it can be.
Flat View: This topic has 19 replies
on 2 pages