Index: archive/20160101_cschem.html =================================================================== --- archive/20160101_cschem.html (nonexistent) +++ archive/20160101_cschem.html (revision 5637) @@ -0,0 +1,68 @@ + + +

pcb-rnd devlog

+ +

cschem

+ +Cschem is a project I plan to start within the next few years. It's goals +and some design concepts are similar to gschem's and geda's, while it +also breaks some traditions in order to fix shortcomings in the design of geda. It's +named after gschem, not after geda, to emphasize that the editor needs to +be connected more to the rest of the system (see details later). +

+Some concepts cschem will try to follow (marking with * where there's major +difference to geda): +

+ + +

+There are a lot of open questions: +

+ Index: archive/design_proc.html =================================================================== --- archive/design_proc.html (nonexistent) +++ archive/design_proc.html (revision 5637) @@ -0,0 +1,132 @@ + + +

sch-rnd - design process

+ +

Terminology

+ + + +

Design document edition process

+ + +

+The process is public and is done on the cschem mailing list and in cschem svn. + +

+A graphical representation from a contributor's point of view: +

+ +

+A succesful contribution moves along the green lines, first from top down +then fed back to the design proc and moves from left to right reaching +the implementation. Actions among the red lines won't affect or change cschem. + +

The debate

+The debate must be constructive and limited to the scope of the current +section as much as possible. Users should: + +

+In other words, the debate should first focus more on what needs to +be solved than how exactly it is solved. If a contributor doesn't +like an implementation proposal, (s)he should provide use cases +to prove the implementation proposal is weak. An alternative +implementation proposal should try to handle all (or at least most) +use cases. +

+Cschem is a complex system - suggestions and demands will contradict each other +or the availabel programmer resources or project goals. In such situations +a decision has to be made, which inevitably leads to valuing some ideas, +suggestions or demands higher than others or even ignoring some requests. +Although the sheer crowd behind a given suggestion matters, the decision +process is not democtratic: the final word is Igor2's. + + +

Policies

+ +

+In case of contradiction (e.g. between use cases), we need to +differentiate between the priority of use cases. There are +abstract, generic policies that may help in that. + +

Index: archive/howto_contrib.html =================================================================== --- archive/howto_contrib.html (nonexistent) +++ archive/howto_contrib.html (revision 5637) @@ -0,0 +1,48 @@ + + +

sch-rnd - howto contribute

+ +Any contribution is valuable. However, any contribution costs too, not +just for the contributor but for the community: the time to read it, test +it, maintain it, etc. In the best contribution the cost/benefit ratio is +strongly biased toward the benefit. This howto gives a few pointers how +this cost/benefit ratio could be improved. + + + +

Do's

Dont's

+ +
+
    +
  • focus: if the current design process is about aspect foo, please don't + write long essays on how aspect bar is affected unless it's absolutely + necessary to understand how foo is affected. +
  • split things up; if there are 4 sections of a design doc you have + comments about, please start 4 separate thread for them. +
  • proper referencing; if your comment is about a specific section, use + the section label (e.g. "{des1:4}") for reference. If the whole mail + or thread is about such a section, best put the reference in the subsect. +
  • concentrate on what problem we need to solve, not on which + technology is used in the solution; e.g. "we want this part to + be user scriptable" is a good consideration; "we want this part + to be written in lua" is a bad one. +
  • Generally speaking: distinguish between design and implementation details. + Focus on the design. +
+ + +
+
    +
  • Avoid sending a single huge mail commenting every second line of a + chapter: that will be very hard to handle for everyone else. + Avoid writing verbose, especially about "background information"; + please try to keep text as short as possible. +
  • Please don't get stuck on an implementation detail; it's impossible + to design cschem to 100% match everybody's preference on every little + detail. If it matches only 70%, please live with it for now, if the + design is strong, it will be easy to provide alternatives later. +
  • Do not hijack threads; if you want to steer the discussion in another + direction, it's okay to reply to a mail in a thread, but please do + change the topic so people know it's a new (sub)thread. +
+
Index: archive/proc.svg =================================================================== --- archive/proc.svg (nonexistent) +++ archive/proc.svg (revision 5637) @@ -0,0 +1,154 @@ + + + + + + +process + + +design + +design document + + +code + +code + + +design->code + + +implementation + + +contrib + +YOUR +contribution: +suggestions +ideas + + +design->contrib + + +read the spec; +run the model +in your head + + +happy + +(happy) +end + + +code->happy + + + + +start + +start + + +start->design + + +download +the spec + + +diff + +sieve +change- +suggestions +ideas + + +contrib->diff + + +send mail +to list + + +edit + +translate the +change suggestion into +an svn commit + + +diff:w->edit + + +explicit +suggestions + + +devnull + +thank you, +was a nice reading + + +diff:e->devnull + + +anything else + + +invis1 + + +diff:s->invis1 + + +edit:w->design:w + + +svn +commit + + +notify + +change notification +on the mailing list +within 24 hours + + +edit->notify + + + + +nonot + +(no notification) + + +devnull->nonot + + + + +end + +end + + +nonot->end + + + + + Index: archive/src/Makefile =================================================================== --- archive/src/Makefile (nonexistent) +++ archive/src/Makefile (revision 5637) @@ -0,0 +1,4 @@ +all: ../proc.svg + +../proc.svg: proc.dot + dot -Tsvg proc.dot > ../proc.svg Index: archive/src/proc.dot =================================================================== --- archive/src/proc.dot (nonexistent) +++ archive/src/proc.dot (revision 5637) @@ -0,0 +1,33 @@ +digraph process { + + { + rank=same + design [shape=box label="design document"] + code [shape=box label="code"] + happy [label="(happy)\nend" style=rounded shape=box] + } + + start [label="start" style=rounded shape=box] + contrib [label="YOUR\ncontribution:\nsuggestions\nideas" color=lightgreen style=filled] + diff [shape=diamond label="sieve\nchange-\nsuggestions\nideas"] + edit [shape=box label="translate the\nchange suggestion into\nan svn commit"] + notify [shape=box label="change notification\non the mailing list\nwithin 24 hours"] + devnull [shape=box label="thank you,\nwas a nice reading"] + nonot [shape=box label="(no notification)"] + end [label="end" style=rounded shape=box] + invis1 [width=2 style=invisible] + + start -> design [label="download\nthe spec" weight=100 color=green] + design -> contrib [label="read the spec;\nrun the model\nin your head" weight=100 color=green] + design -> code [label="implementation" color=green] + code -> happy [color=green] + contrib -> diff [label="send mail\nto list" weight=100 color=green] + diff -> edit [weight=20 label="explicit\nsuggestions" tailport=w color=green] + diff -> devnull [weight=20 label="anything else" tailport=e color=red] + edit -> design [label="svn\ncommit" headport=w tailport=w color=green] + edit -> notify + devnull -> nonot [color=red] + nonot -> end [color=red] + diff -> invis1 [weight=1000 tailport=s style=invisible arrowhead=none] + +}