Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

License? #10

Open
treeform opened this issue Oct 27, 2021 · 13 comments
Open

License? #10

treeform opened this issue Oct 27, 2021 · 13 comments

Comments

@treeform
Copy link

What license is the book under? What license are the code snippets under?

@StefanSalewski
Copy link
Owner

I do not yet know. The initial draft which I wrote in April 2020 was MIT licensed, but I removed that one as it may maybe a problem when I may later really decide to sell copies of the book, maybe even a printed version. But license should not matter currently, readers can download it for free. And even later when I may sell it I will try to make free versions available for young kids and poor people in third world countries like Africa, India and such.

But well, Araq don't like the book, and we have not many new kids and unskilled people trying Nim currently, so maybe selling will never make some sense. (I would guess for selling we would need at least 100 buyers a year for a period of some years.)

If you ask because you intent to become a co-author: Sorry, I do not accept co-authors at this point. In early days I may, for sections about macros, metaprogramming, concepts, threading and parallel processing and async I even hoped for co-authors in early days, but now I regard the book as 40% done, and I think I will manage to write the rest myself if Araq does not manage to demotivate me. But I have to learn more about concepts and async first. And maybe finally hire a professional proof reader, but maybe some smart grammar checking software will do.

@ZoomRmc
Copy link

ZoomRmc commented Oct 29, 2021

Sorry, I do not accept co-authors at this point.

You can always set concrete boundaries of accepted involvement. For example, you can state that editorial PR's with minor typo/logic/etc fixes are ok while text restructuring/adding new material are not. That would require a supporting license, of course. Or, if you intend to keep the copyright, probably some contributor's agreement, which will be an off-putting measure, though. (IANAL)

In any case, there's not much point in making the source publicly available on code collaboration service if you aren't open to contributions via the provided tooling.

@StefanSalewski
Copy link
Owner

In any case, there's not much point in making the source publicly available on code collaboration service if you aren't open to contributions via the provided tooling.

Well, the initial draft of the book was written in April 2020, see announcement: https://forum.nim-lang.org/t/6170#38097

That time I was very open to support by co-authors, and the draft had MIT license. But there was absolutely no support in the first year. Later some people pointed me to some typos, I thanked that people in the aknowledgement section.

Now, 18 months later, I regard the book 40% done. Seems to make some sense now that I will keep full control over the project. Grammar and type fixes, software or a final hired proof reader can do that.

But it becomes more and more obvious that Mr Rumpf hates the book, and he hates me too, see e.g. https://forum.nim-lang.org/t/7832#49773

Alternatively you can always phrase your posts in a more civilized manner. For example, by not turning your individual subjective experiences into objective "performance pitfalls"...

Phrases like https://forum.nim-lang.org/t/8543#55566

but you don't know the full story

does not really help. Of course we do not all know his personal story and his problems. E.g. I have no idea why Mr. Doering was fired, why the guy calling him self Mr. Disruptek was banned. Or why the critical video of Ștefan Talpalaru was banned from last Nim Conf.

I do not really care about the personal opinions of Mr. Rumpf and a few of his fanboys, but of course that is no motivation to continue the book. Maybe switch to another language? Well of course I have considered that, but Nim is just too good, I have investigated a lot of time in some Nim projects, and there are still some Nim devs with a more sane mental state. I really hope people like Mratsim, TimotheCour, PMunch, Mr. Felsing, Mr. Behrends and many more with a competent, helpful and friendly attitude will not fully leave Nim. If that should happen I will leave definitely also. Maybe it is already now a good point to leave the Nim forum and stop all further conversation with Mr. Rumpf.

For you general remarks to contribution to Nim FOSS projects: Most projects have MIT license, initial authors often ask for contributions but the projects remain single man projects. No not only my gintro package, for which I have spend 1600 hours totally. Most packages and wrappers are mostly one man projects, with a few exceptions. There may be various reasons. Note that the GTK4 book is still MIT licensed, so valuable contributions would be possible. But again, no contributions in the last 12 months. At least some people have provided a few small GTK example programs.

When your suggestion is just to remove the Nim book from github? Yes, I may consider that. I have even considered removing the gintro package, as it has not really many users. For the few who still need it I can provide a personal copy.

But I am really busy with other stuff currently, so I have to delay the decisions for now.

@shayanhabibi
Copy link

I would like to say that there are many of us who do really appreciate, use, and refer the book to new people. Perhaps it might not be receiving the traffic it deserves, but that is no fault of its own (as you have pointed out). I completely understand how demoralizing and frustrating it would be to constantly deal with this push-back from the management of nim. It has been made abundantly clear to me recently that there is zero room to criticize management without being punished for it (even if your criticism is due to poor community engagement from paid community moderators).

I was recently banned for arguing against dom and araq in regards to using your book as a reference for new users looking for resources. It was apparent they have some strange criticism of the book for appalling reasons (quoting haxscrampers summary on the discussion surrounding the book and my subsequent ban):

After this comment we had another Araq/Stefan interactions where Araq
directly jumped in with

Oh but of course your book is good advertisement for Nim -- you never
digress into the irrelevant ("Nim's macros are a PITA like learning C++")
or make subtle accusations ("Maybe the Nim core devs will lose interest
in async and replace it by CPS, so better not document it here").

This retort refers to the three-line comment
about async. I can't find exact quote about nim macros being PITA, but
there is a large note section that contains things like
"But when we try to create macros our own for the
first time, it can be frustrating. Strange error messages, or even worse no
idea at all how we can solve a concrete task." (which I can personally
attest to - even after writing nim macros for multiple years.)

We noticed recently that you closed all of your issues on the Nim-lang repository. Is it because of these issues with Mr. Rumpf or something unrelated? I hope you don't mind my curiosity.

@StefanSalewski
Copy link
Owner

@shayanhabibi

Thanks for your comments. I can not really respond to your remarks, as I still do not understand the whole situation, and I have no intent to let the situation even more escalate.

Yes I closed all my Nim issues, as I do not want any more direct contacts to Mr. Rumpf and his fanboys Mr. Picheta and the one who calls himself Miran.

Over all the years it was obvious for me that these three persons were the most unfriendly and arrogant people of the whole Nim community. I was able to tolerate it, as I really liked the Nim languages, and we had some other bright persons in the community with a much more friendly and helpful attitude. But now it has become even more obvious how strong Mr. Rumpf hates me personally, and how he hates my book. I had for years the feeling that he did not like most of my packages, including gintro. Currently my only explanation is that he hears some voices in his head telling him permanently: "Dr. Salewski is an enemy of Nim languages, kill him whenever you can." And in his delusion he seems to have strongly influenced the two others -- or maybe they influenced him? I really do not know, as I am not a medicine doctor. I have really no other explanation, considering the large amount of work I put in supporting Nim language in the last seven years. Funny fact is, his eruption of hate occurred only a few days after I paid nearly US$ 500 for the support of Nim, motivated by the forum post about someone who was willing to double all donations for a period of 48 hours.

I have not finally decided if I will leave Nim fully, or maybe continue using it, but avoid the Nim forum and IRC. Using a forum and IRC where these three can arbitrary ban people, close threads and write as last comment "you do not know the full story, he is such a bad guy" is definitely inacceptable. And Picheta is a mod for the Nim reddit too, so it seems not to be a good idea to use that ether.

I have seen many people have been threaten in such a way in the last seven years, been fired, banned or blocked without real explanations. And now I regret that I have said noting against that earlier. I guess it was a mix of respect to the work of Mr. Rumpf and his brightness, and the fear to get banned too. And some form of understanding his depression -- some trolls that permanently criticize significant whitespace, style insensivety and transpiling to C, in conjunction with the 2000 open issues. That is a big burden, but can still be no real excuse.

Of course I may not be a very friendly person myself -- generally I call a troll a troll, a stupid question or a stupid remark stupid, and bad tutorials and videos just garbage. And I think that should be OK, as it is just honest. But that is never a personally attack, and I can not even imagine really hating some people. How many of all my post can be regarded as unfriendly? I guess much less than one percent? For an ordinary user that should be OK.

Unfortunately Nim has loose so many valuable people over all then years, I was always wondering why that is. I think the behaviour of that three people is one important reason for that. And now Nim seems to be even gone from the top 100 in the Tiobe November index. Sad.

Maybe I should do a poll asking if someone left Nim because of me or my book? Well maybe a few continued using Python because of me and the book, but I am sure the few would have returned to Python in any case.

Well, a long text again, without a real conclusion. Much more text than I initially intended to write -- maybe it will help myself to understand the situation a bit better? For working on the book or any Nim projects I have currently absolutely no motivation.

Please excuse the bad quality of some of my wording, I can generally write English texts only with content related to physics, electronics and computer science -- for such kind of personal or mental problems I just have no words available, not even in German language.

@ZoomRmc
Copy link

ZoomRmc commented Nov 7, 2021

In most spheres of human activities social interactions can often be the most difficult part. It's even harder in the interconnected world of now, where cultural clashes are the everyday thing. I just sincerely hope it can't overshadow the motivation we all have behind making new things, sharing knowledge, exploring new ideas and supporting each other in these endeavours.

In an unfortunate case of you ever deciding to abandon the book, please consider leaving it under some permissive license so it can be adopted by the community. Thank you for your work.

@Nuc1eoN
Copy link

Nuc1eoN commented Jan 22, 2022

Hi I just wanted to say that I am using this book to learn Nim and I have never heard that anybody had issues with it. If it works for someone does it matter what others think?

So My personal opinion is that you shouldn't care what other devs or Araq think about your book. How does that matter in the end? If you do not go along well just do not engage in useless conversations with them.

So it would be really sad if the book was left unfinished, because as a total beginner it is my most helpful resource and I really appreciate your communication skills in the book. They are one of a kind so far for the nim programming language.

Btw personally I do not think that licensing under MIT would be of any issue for the book to be later released commercially.
MIT license still keeps your copyrights as an Author in place so there is nothing to worry about.
Probably it is more of a mind thing... "if I release it under an open source license, somebody else will make money of my work", this is not realistic though. Which sane publisher would publish a "stolen" book. Nobody does that :)

So I think MIT license would be a sign of openess to the community and nobody can accuse you of publishing a "shit programming book". Because you release it for free, to the public, people who value your work (myself) would still buy the book if you release it, or even donate you. Remember it is not Araq who will ever read this book. He is not the target audience, and your real audience will be ever thankful to you for teaching us to program and give you the best feedback <3 :)

PS: If you didn't receive many contributions it is probably because not many people are aware of your book. No wonder.. it is not even finished. I am sure once you officially release version 1.0 it will gain a lot more traction and thankfulness. Don't listen to the haters, notice that only successful people have haters. That is a natural burden and we must learn to respond appropriately, instead of letting our motivation and energy be deprived. I'd say scrap the current nim community and make your own. I am sure you will have many people following you.

@blueglyph
Copy link

Copyright is a complicated issue. I'm not a lawyer though I had to deal with my share of IP-related projects; I think the general consensus about copyright is that your work is automatically protected in most countries, yet you may want to register it in case you have to defend your work against infringement in the future. Especially if you are thinking about publishing the book on your own.

If you work with a publisher, you'll probably have to assign the copyright to them; you'll still be considered as the author and you'll keep the author rights. In that case, I'm not sure how they deal with open-source books and the related licence, so it would be wise to ask them before closing the deal to avoid any misunderstanding.

The copyright law is different for each country, for instance the US has a very specific system based on fair use, while in Europe we tend to be more protective. I found The Chicago Manual of Style a very interesting book. It's a very big book which is mostly a style guide for the (US) English language, but it also explains in details the publishing process, including the copyright issues. When I say "US English", they often mention the differences vs UK English. You can also have a look at the New Oxford Style Manual for the UK / European counterpart, though personally I find it less useful, even though I'd rather have a European style manual.

@StefanSalewski
Copy link
Owner

@Nuc1eoN

So My personal opinion is that you shouldn't care what other devs or Araq think about your book.

Thanks for your comments, I mostly agree. I may correct some facts:

The book is mostly complete. It has nearly 400 pages now, which is more than the other two books. The "advanced Nim" part about async, threading and macros is already more than what was initially intended, as it should be initially a beginner book. Of course I could add more stuff: concepts, FFI, debugging, tooling and editors, nimscript, LLVM backend, JS backend, games, and some more. But I would like to avoid adding stuff that may change a lot, or may make the book too large. As you may know, concepts have changed recently. And threading may be changing too. And IC or hot code reloading?

When I started with the book in early 2020, we had still some beginners asking a lot of very basic questions, so the book was initially intended for them. The fact, that Mr. Rumpf has bashed me and the book a few times, and that they did not even mention it in their learning resources, made it hard to sell it. And my strong feeling is, that Nim is in a sad state currently, and the community is not growing, which restricts the group of people interested in Nim books. My initial guess in 2017 was, that I may write a good book and then may be able to sell a few hundreds pieces. But that seems to be impossible currently, even with strong commercial advertising. Note, before printing, I would have to consult a professional proofreader, maybe two, one for language, one for Nim content. They may charge up to 10k Euro for that process. (You say that you find the content OK, but I am not sure if you are a native speaker.) For the license: The first 9 months, from early 2020 up to end of 2020, I used the MIT license, hoping that people may contribute -- e.g. I was hoping that someone other would write the macros and async part. But end of 2020, I had to realize that some people had forked the book, but nearly no one had contributed. I had only two people who send some tiny typing issue and grammar fixes. So I had to learn that I had to write all myself, and for that case I removed the MIT license, and then wrote the next 200 pages, including async, macros, threading and that.

My current estimation is, that maybe a dozen people have read the book yet, which is really not that much. I am not doing much Nim myself currently, for obvious reasons, so I don't know if I will work more on the book. I guess in 20 years, when I have some more unneeded money left, I will print 100 pieces, just for fun and for my grandchilds :-)

@StefanSalewski
Copy link
Owner

@blueglyph

Copyright is a complicated issue.

Yes it is, but I care not that much for it currently. Selling the book seems to be impossible currently for the multiple obvious reasons, but maybe the book is still useful for a few people. For copyrighted books, there will be always illegal copies as well. And for this concrete book, it was always planned to make it freely available for kids in counties like Africa and Asia, where kids may have no money to buy it.

@blueglyph
Copy link

@StefanSalewski Sure, I only mentioned it because you were talking about possibly selling a printed version of the book. If you don't care about copies, that's fine, and I suppose that nobody would go as far as copying your work, registering it under their name, then accusing you of infringing their rights. We see that in the industry sometimes but the gains are somewhat higher. 😉

Besides, registering is generally not free, you can see an example here. There are other solutions too; I see you've already mentioned the (c) which is always a good idea because not everyone knows that it's automatically protected. Keeping drafts or revisions on an external server and so on can be good supporting evidence.

Anyway, thanks for writing and sharing your book!

@xrfez
Copy link

xrfez commented Mar 3, 2023

I was actually digging around here trying to find a place to pay you. I guess I will just buy a copy if you publish it. For my kids.

@StefanSalewski
Copy link
Owner

find a place to pay you.

Any form of payment would make no sense currently. Not that I would not need the money, but German income taxes are a dangerous beast, I have to declare each earned cent carefully.

My initially hope in 2019, before I started writing it, was that I may be able to sell approximately 100 copies a year, maybe for a period of 3 to five years, so up to 500 copies totally. That would cover the costs for a professional editor or native proofreader, maybe 5000 to 10000 Euro. But currently my guess is, that selling only a few dozen pieces may be possible, which makes no sense. The main reason is, that currently the number of people still interested in Nim is tiny, and of course all the insults of Mr. Rumpf against me and the book, which may not increase trust in the book.

If you or someone else should have some unneeded money, then you may donate it to people in Ukraine or children in Afghanistan for example, all these need our support very urgent. Or buy the book of Mr. Rumpf, he may need some money as well.

@ZoomRmc ZoomRmc mentioned this issue Apr 16, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants