explicit documentation (re)organization
hi folks, i may not be alone in thinking that the current documentation organization in PyPy leaves an lot to be desired. IMO the main problem: we don't have a clear and maintained entry point for documentation for developers (tm) and we don't cleanly link all the _relevant_ and somewhat up-to-date documentation. Also we link to a lot of half-way/not decent/wrong documentation. So i plan to move towards i model that is already used with the upcoming py lib (http://codespeak.net/py ): - there would be a directory which holds an "index.txt" which will be ResT-translated in order to serve as the main developer documentation entry point - this index.txt will link to the various important other documentation chapters _explicitely_ - linking to the chapters happens with relative links so that you can rest-convert and check links before checking in. With the py lib there even is a test that checks that the documentation does not produce warnings. Currently, in PyPy we are using an implicit scheme which basically rest-converts everything that was dropped into some directories. IMO the result is confusing, unordered and didn't really work out. I believe that getting the documentation in a better shape is crucial to involve new developers (and even the current ones :-) Comments? I'd like to do the reorganization over the weekend and would afterwards appreciate any help in bringing the documentation up to date, especially deleting or moving all the obsolete stuff. This is real work but it really makes a difference so please help ... cheers, holger
I would like all the documents produced to cotinue to be under svn source code control. And I really do not want obsolete things deleted, only moved. At some point, one of us is likely to want to do a paper on the development process, and it will be very useful to have things that document what we used to think, and when we thought it for that purpose. Also, the fact that we have decided against a certain approach does not make it therefore uninteresting. I'd like to be able to go back and think about roads not taken at some point. This will be useful for new developers as well. If somebody suggests we do something which we once thought was a good idea but do no longer, it will be a lot easier to point them at the discussion that made us reject the idea rather than try to reconstruct it. When you reconstruct the idea, what you most often do is write 'why I would reject the idea now' believing that the reason you have now is the reason you had then, or a development of the one that you had then. This is often true. But sometimes the reason you have for adopting a new decision isn't actually a valid one, but the evidence for that shows up slowly. By the time you are all in agreement that the original reason you had for adopting this plan of action is not valid, you will have generated other reasons for having this plan of action -- including the old standby 'but we have a heck of a lot of code written with this plan in mind'. It often takes fresh eyes to see that the decision was the wrong one, and possibly it is time to yank out the code and start that bit over. We've already done this a bit -- have done plan a, and then decided to do it over as plan b, and then on the third think decide that plan a was better after all. This means we should be careful about saving old documentation, because what we toss out may come back later. Or something similar in a different shape -- they way we still have multi-methods now, but they don't do what they did a year and a half ago ... While organising the documentation is likely to help, I think that the reason the py lib documentation is better than the pypy documentation is because Holger sat down one weekend and wrote a lot of it. I don't see the same sort of commitment to writing documentation for the pypy project because more of the pypy code is 'experimental -- subject to change'. The people who know the most about the code -- those who are writing it -- don't want to document something they might want to rewrite next week, and so it goes, because it is actually hard to find a good time to document the code that was done which is one reason why the WP approach may be good for us. We will have to document in bits for the EU in any case. But the ongoing problem remains. Would you rather document the stuff that we already have, that might change, or write the changes? I think we are going to always feel a push towards writing the code. Perhaps a way for us to turn discussion we had on the mailing lists into lists of things for newcomers to read would be more effective? This is only an idea. I am not sure of that. I am going to be away travelling, first to Brussels and then to the USA until Vilnius, and so I cannot help with documentation much until Vilnius. Then I could help a lot, provided that there is enough I understand that needs documenting. When I run out of things I understand, you will have to teach me stuff -- which might not be what you want to do, and you would prefer hacking. Laura
Hi Laura, [Laura Creighton Sat, Nov 06, 2004 at 12:19:04PM +0100]
I would like all the documents produced to cotinue to be under svn source code control.
sure, using subversion for holding the basic documentation is certainly not going to go away :-)
And I really do not want obsolete things deleted, only moved. At some point, one of us is likely to want to do a paper on the development process, and it will be very useful to have things that document what we used to think, and when we thought it for that purpose. Also, the fact that we have decided against a certain approach does not make it therefore uninteresting. I'd like to be able to go back and think about roads not taken at some point.
Yes, I see the point. However, when we delete things in a certain revision they don't go away from the repository. It is always possible to look at former revisions and see what happened. I completly agree that this is something we want to have. Also Jum and me are working on the new codespeak setup which will feature a "trac" environment which allows to search for older commits and files ...
... While organising the documentation is likely to help, I think that the reason the py lib documentation is better than the pypy documentation is because Holger sat down one weekend and wrote a lot of it.
Actually even some more than just a weekend.
I don't see the same sort of commitment to writing documentation for the pypy project because more of the pypy code is 'experimental -- subject to change'. The people who know the most about the code -- those who are writing it -- don't want to document something they might want to rewrite next week, and so it goes, because it is actually hard to find a good time to document the code that was done which is one reason why the WP approach may be good for us.
Well, the py lib is not documented completly either. I think it makes most sense to document the most stable parts (which we partly already did but it's not organized well enough IMO). For futuristic stuff it may also be good to write down the ideas and mark them as "futuristic, subject to change".
We will have to document in bits for the EU in any case.
Yes, although i see the "documentation for developers" somewhat independent of reporting to the EU especially since the EU hasn't even confirmed yet.
But the ongoing problem remains. Would you rather document the stuff that we already have, that might change, or write the changes? I think we are going to always feel a push towards writing the code.
Perhaps a way for us to turn discussion we had on the mailing lists into lists of things for newcomers to read would be more effective? This is only an idea. I am not sure of that.
I do think that instead of writing long mails spending the time to write a "future" chapter is often a good idea.
I am going to be away travelling, first to Brussels and then to the USA until Vilnius, and so I cannot help with documentation much until Vilnius. Then I could help a lot, provided that there is enough I understand that needs documenting. When I run out of things I understand, you will have to teach me stuff -- which might not be what you want to do, and you would prefer hacking.
Btw, Laura&Jacob, please list your arrival/departure dates and accomodation status at http://codespeak.net/moin/pypy/moin.cgi/VilniusSprintAttendants cheers, holger
participants (3)
-
holger krekel
-
hpk@trillke.net
-
Laura Creighton