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

Your intentions about my upcoming modern CLOS MOP version (initially derived from yours)? #2

Closed
Hexstream opened this issue May 21, 2017 · 8 comments

Comments

@Hexstream
Copy link

Hexstream commented May 21, 2017

Hello,

I'm pretty far along in my project to make a modern public domain version of the CLOS MOP.

I used your project as a base (and I included most of your "Notes and remarks"), and you'll of course be properly credited.

Here's some screenshots of my WIP (text in green means "audited", red is "fixme", I've audited all of the text with the book once, I've recently removed the "audited" class on all the paragraphs (but not the links) but I didn't take the screenshots again...):

https://www.hexstreamsoft.com/tmp/wip/clos-mop-chapter-5-wip.png
https://www.hexstreamsoft.com/tmp/wip/clos-mop-chapter-6-wip-1.png
https://www.hexstreamsoft.com/tmp/wip/clos-mop-chapter-6-wip-2.png
https://www.hexstreamsoft.com/tmp/wip/clos-mop-chapter-6-wip-3.png

Honestly this project has been pure hell, manually cleaning up the markup has been incredibly insanity-inducing, generally this project has just been a long series of long boring dull chores...

In the course of doing this, I've accumulated 60+ notes pertaining to your version, about various things such as markup errors and other kinds of errors in your version, and whatever other things...


Now, to the crux of the matter and why I'm creating this issue:

Accumulating and managing these notes is actually a significant burden on me, and if for instance you were to just directly adopt my version as a new base when it's ready, essentially abandoning your version, then most of my notes about your version would be rendered completely obsolete and carefully accumulating them would have been a waste of time. (On the other hand, if for some reason you wouldn't like to adopt my version, then I could immediately report most of the issues to you so that you can fix them and I can stop accumulating notes about them.)

So basically, I'd be very interested in knowing about your willingness or non-willingness to adopt my version when it's done (possibly just immediately forking it, after all it's also public domain)? Hopefully the screenshots above are enough for you to evaluate the situation; I might possibly consider sending you my WIP (on the condition that you not share it) if that can help you better evaluate the situation.

@Hexstream
Copy link
Author

It's been a week, nevermind, I'll just garbage-collect those notes.
I'll try to remove them in one commit, and I'll probably keep that commit for some time, but not forever.

(The supremacy of my lone-wolf modus operandi is once again confirmed. ;P)

@robert-strandh
Copy link
Owner

Hello,

I am sorry for not being more reactive. I have been busy with other
projects, and with some annoying administrative work.

It looks like you did a fantastic job. I am notoriously incapable of
determining the difference between a "modern" look and what I did.
That is why I made it look sort of like the HyperSpec, which of course
is not very modern looking. As far as I can tell, what you did is way
more spiffy.

I am not sure what you mean when you suggest that I "adopt [your]
version as a new base when it's ready". If you mean that you would
like for me to host your version on the Metamodular site, that would
certainly be possible and easy for me to do.

If you mean that I should remove my version permanently, that would
take some additional verification. For example, the bot "specbot" in
the #lisp IRC channel is able to show links to the pages in what I
did, when given the (full or abbreviated) name of a function or a
class in the IRC channel. Someone would have to figure out how to do
the equivalent for your version. Furthermore, since I am incapable of
determining what is a good looking site from a bad looking one like
mine, I would have to ask advice from others that hang out on IRC.

I created this site because I needed a much better version than the
existing one (which I was also explicitly not allowed to improve) so
that I could have easy access to the MOP reference while working on
the SICL CLOS implementation. I shared it with everyone so that
others in my situation would have a better reference as well. When
people suggest small improvements, I sometimes take a few minutes to
implement them, but as far as I am concerned, what I have has
fulfilled its purpose, and have no intention of spending significantly
more time maintaining it. Also, I definitely do not have extensive
knowledge about HTML, so I am largely incapable of maintaining
something that I did not write. So if by adopting your version you
suggest I should maintain it, I think I would have to decline.

Michał "phoe" Herda is working on the "Common Lisp UltraSpec" (CLUS
for short, see http://phoe.tymoon.eu/clus/doku.php). He is planning
to integrate all kinds of existing Common Lisp documentation into it,
and the MOP would be one of the first candidates after the Common Lisp
standard itself. Whether he is going to be able to use your version
(or mine for that matter) will take some time to determine, because he
has a full-time job that limits the amount of time he can spend on
CLUS. It is entirely possible that what he is working on will replace
both what I did and what you did, in which case it would be a waste of
time to invest in the work for specbot.

To summarize, then, I will be happy to host your version as soon as it
is ready. I would also be interested in keeping an archive of the
issues that you found and fixed with what I did. If you want someone
else to take over the maintenance of your version, that might be
trickier because we would have to find someone other than me to do it.

@phoe
Copy link

phoe commented May 27, 2017

Editing specbot is as easy as crafting a modified version of https://github.com/stassats/lisp-bots/blob/master/specs/mop.lisp .

@Hexstream
Copy link
Author

Hexstream commented May 27, 2017

Wow! Thank you very much for the detailed response, belated though it may be!

I am sorry for not being more reactive. I have been busy with other
projects, and with some annoying administrative work.

I suspected that, just from looking at your github profile, you certainly seem very busy! And of course that's only a small part of the equation... (Maybe you could consider writing short "I don't have time to reply to this right now" replies in the future, that could be a bit less frustrating than a week+ long wait...)

It looks like you did a fantastic job. [...] As far as I can tell, what you did is way more spiffy.

Amazing! Thanks!

I am notoriously incapable of determining the difference between a "modern" look and what I did. That is why I made it look sort of like the HyperSpec, which of course is not very modern looking.
[...]
If you mean that I should remove my version permanently, that would take some additional verification.
[...]
Furthermore, since I am incapable of determining what is a good looking site from a bad looking one like mine, I would have to ask advice from others that hang out on IRC.

I get what you mean. I certainly understand that as the author I can't be trusted to have an unbiased opinion about, notably, aesthetics, and also that some community validation will be required before my version is considered "officially" "canonical". I have no doubt about the acceptability of my work on a technical level, but the politics are a little more potentially complicated... (Hopefully I'm just being paranoid...)

Of course, no actual community review can take place before I actually release my version...

I am not sure what you mean when you suggest that I "adopt [your] version as a new base when it's ready". If you mean that you would like for me to host your version on the Metamodular site, that would certainly be possible and easy for me to do.
[...]
So if by adopting your version you suggest I should maintain it, I think I would have to decline.
[...]
To summarize, then, I will be happy to host your version as soon as it is ready.
[...]
If you want someone else to take over the maintenance of your version, that might be trickier because we would have to find someone other than me to do it.

No, I will be happy to do the hosting and maintenance myself into the indeterminate future. I'm pretty "possessive" about my projects, although they're all public domain so anyone can fork them at will and without restrictions.

I will host my CLOS MOP version on the same infrastructure as the HexstreamSoft website (https://www.hexstreamsoft.com/), using AWS S3 + AWS CloudFront (which I am very familiar with), so everything will be rock-solid and super fast everywhere around the world, as usual.

My preferred scenario (and incidentally the one that would advantage me most) would be if, once I release my version (hosted on my site), you (and others) carefully review it, and then hopefully you (and others) would consider that my version is such a "superset" of yours that you'd declare that mine "supersedes" yours. This is of course entirely optional and at your discretion, but it seems to me like it would be the most optimal route going forward. I could provide you with a list of apache redirects that you can use to redirect all http://metamodular.com/CLOS-MOP/ links to the correct location at https://clos-mop.hexstreamsoft.com (upcoming), if you so desire. (I don't want to get pushy either, if you want to maintain your own version in parallel, you're free to do so.)

As far specbot, I'll be happy to provide an updated file, as Phoe suggests. That would be a pretty insignificant amount of work within the scope of this project.

I created this site because I needed a much better version than the existing one (which I was also explicitly not allowed to improve) so that I could have easy access to the MOP reference while working on the SICL CLOS implementation. I shared it with everyone so that others in my situation would have a better reference as well. When people suggest small improvements, I sometimes take a few minutes to implement them, but as far as I am concerned, what I have has fulfilled its purpose, and have no intention of spending significantly more time maintaining it.

Thanks for the background info. I think my version will be better in most or all respects, once it's ready. :) (I'm not sure of your opinion about having one page per chapter (as in my version) instead of tons of pages (as in your version), I certainly consider the one-page-per-chapter approach far superior, both for usability and for editability. Also, with my current infrastructure, the tons-of-pages approach was simply completely unviable.)

Michał "phoe" Herda is working on the "Common Lisp UltraSpec" (CLUS for short, see http://phoe.tymoon.eu/clus/doku.php). He is planning to integrate all kinds of existing Common Lisp documentation into it, and the MOP would be one of the first candidates after the Common Lisp standard itself. Whether he is going to be able to use your version (or mine for that matter) will take some time to determine, because he has a full-time job that limits the amount of time he can spend on CLUS. It is entirely possible that what he is working on will replace both what I did and what you did, in which case it would be a waste of time to invest in the work for specbot.

I am familiar with the CLUS, I would strongly suggest that Phoe use my CLOS MOP version as a base, once it's ready. :)

I would also be interested in keeping an archive of the issues that you found and fixed with what I did.

D'oh! And here I thought I was going to save myself some work!
I'll have to think about what to do about this... I'm really horrified at the idea of throwing work into reporting these issues to you if you're potentially going to just throw away your version in the end...

@Hexstream
Copy link
Author

Hexstream commented May 27, 2017

I really hate desperately spamming my stuff, even when credibly contextually relevant, but since you've expressed an interest in the CLUS, I guess I should spam my very related (and also incomplete, but possibly more complete) project, "Notes and tips: Standard Common Lisp symbols": https://www.hexstreamsoft.com/articles/notes-tips-standard-common-lisp-symbols/ (github: https://github.com/Hexstream/notes-tips-standard-common-lisp-symbols/).

(I might possibly do some serious cleanups and improvements to it this year (after my CLOS MOP is ready), possibly depending on interest.)

Tip: The huge table at that first link is a bit of a mess and will eventually be phased out (or greatly improved, or something), you might like to try clicking on some of the green links on the left for more interesting stuff.

@robert-strandh
Copy link
Owner

It sounds like you should publish your version of the MOP, and supply
the information specbot needs. Then we will do as you suggested and
wait for comments from the community. The end result will probably
just be that my site will fall into oblivion, which is totally fine
with me. I am happy to see that my work could be used as a basis for
something even better.

With respect to the CLUS, so far I am not directly involved in it, and
I would certainly be totally unqualified to have an opinion about how
it is done. But it would be great if you and phoe could keep
communicating, so that one day we can hopefully have extensive and
modern-looking documentation for Common Lisp and related things.

@Hexstream
Copy link
Author

Something like that. I think we can defer thinking more deeply about this stuff to when I actually publish my initial version, which I would like to be very much comprehensive and complete.

I'm already in regular contact with Phoe through my favorite Common Lisp discord server. (There's an invite link to it in the news section on my site's homepage, if you'd like to try it. This thing is 100x better than IRC, except for the proprietary aspect. I'm sure open-source clients (and servers?) for it will emerge in due time...)

@Hexstream
Copy link
Author

My version is now ready! https://clos-mop.hexstreamsoft.com/

I guess I'll close this thread, see my little announcement in #4, I guess discussion would normally continue there...

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

3 participants