LittleFoot Elegance Photo > Off-Topic Discussion

New Project

(1/3) > >>

FelixBuechner:
In einem neuen Thread habe ich kürzlich angefangen, Überlegungen zur Neuentwicklung einer Steuerung anzustellen, die KOMPLETT auf Open Souce Komponenten basiert (also nicht nur Software sondern auch Hardware).

Dazu fragte ich Rajiva (als "Vater" der LF) um seine Meinung, weil er ja viel Erfahrung mit einem solchen Projekt gesammelt hat.

Mein jetzige Post dreht sich im Kern gar nicht um LF, aber weil verschiedentlich Neugierde auf Rajivas Antwort ausgedrückt wurde, hier kurz eine Anmerkung dazu: Anand Rajiva hat mir per PM sehr nett geantwortet. Seine Antwort ist privat und ich gebe sie daher nicht im Detail wieder.
Im Grunde äußert er die Besorgnis, dass man bei Open Hardware (wie auch Software) schlussendlich ausgenutzt wird und Leistungen der (freiwilligen und unbezahlten) Entwickler irgendwann GEFORDERT würden (statt anerkennend honoriert).

Ich gebe ihm dabei insofern Recht, als dass diese Gefahr tatsächlich besteht und daher auch eintreten kann.

Was könnte man aber dagegen tun?

Ich denke dass man
1) die gesamte Arbeit von vorne herein als Arbeit eines größeren Teams gestalten muss
2) den gesamte Prozess so transparent gestalten müsste, dass sich eine beliebige Person permanent oder temporär ausklinken kann, ohne dass deswegen der Prozess zum Stillstand kommt
3) das Gesamtprojekt in wesentliche Komponenten (in Hard- und Software) zerlegt, die getrennt voneinander entwickelt werden.

Dazu ist es notwendig,
1) sich auf ein Feature-Set zu einigen
2) dann auf eine Grundarchitektur
3) dann die separierbaren Komponenten zu identifizieren
4) schließlich die Schnittstellen zwischen den Komponenten zu definieren

Damit könnte man die Entwicklung der Komponenten einzelnen Teams überlassen, die sich der bewährten Open Source-Verfahren bedienten.

Im Endeffekt wäre die Last auf viele Schultern verteilt, das Know-how in vielen Köpfen vorhanden und das Ergebnis jederzeit transparent.

Zusätzlich sollte man sich von vorne herein auf Englisch als Sprache der Dokumentation und wohl auch der Kommunikation einigen.

Das hätte den Effekt, dass die Community wesentlich größer sein könnte als bei einer rein deutschen Organisation.
Gerade in unserem Feld, das doch vergleichsweise klein ist (wenn man es mit vielen anderen Feldern von Hard- und Software vergleicht) glaube ich, dass die Einbeziehung eines möglichst großen "Brain-Pools" wichtig ist.

Soweit die theoretischen Vorüberlegungen.

Die Kernfrage: Gibt es hier jemanden, der sich bereit erklären würde, einzusteigen?

Mit herzlichem Gruß,

Felix

ReneWal:
Hallo Felix.
Ich finde es Klasse, dass es hier wieder weitergeht.
Deine Idee fände ich prima, wenn sich die Community wieder zusammenfindet und ein Projekt auf die Beine stellt.
Open Hardware hatten wir ja schon und ich bin der Meinung es hätte auch geklappt, wenn dazu von Beginn an Open Software dabei gewesen wäre.
Es sollte, wie ja viele andere Projekte im Web zeigen, funktionieren sowas auf die Beine zu stellen.

Was bei mir noch an Fragen offen ist:
Wie schwebt dir die Sache vor? Soll es ein ganz neues Projekt werden?
Also neue Hardware UND neu Software?
Oder nur soll es nur ein Teil davon werden?
Neue Software, welche auf der alten LFEP Hardware lauffähig ist.
Da du ja Kontakt zu Rajiva hattest, hat er durchklingen lassen wieder in ein solches Projekt einsteigen zu wollen?
Am schönsten wäre ja, wenn auf dem bereits bestehenden Know How aufgebaut werden kann. Dazu wäre natürlich seine Mitarbeit erforderlich.
Irgendwann wurde mal in irgendeinem Forum geschrieben, dass er von der LFEP leben musste. Ich kann mir nicht vorstellen, dass er das aufgeben will und sein Know How freigibt.

Von daher wäre mein Vorschlag, zuerst mal nur mit der Software zu beginnen und die vorhandene Hardware zu nutzen. Sonst wäre ein erstes Gerät wohl erst in 5 Jahren soweit.
Wir sollten uns dann auch auf die Kernprobleme beziehen und das überflüssige erst mal weglassen.

Bin mal gespannt wie es weitergeht.
Rene

FelixBuechner:
Lieber Rene,

Anand Rajiva hat an verschiedenen Orten und zu verschiedenen Zeiten immer wieder sinngemäß gesagt "ich habe damit nichts mehr zu tun".

Auch mir gegenüber hat er das sehr freundlich geäußert. Daher glaube ich, dass Deinen Überlegungen, ihn einzubeziehen, insofern die Grundlage fehlt. Er will nicht, und das kann und sollte man respektieren wie ich meine (Du sicherlich auch). Kurz: Er hat so oft "nein" gesagt, dass man es einfach glauben muss. Warum auch nicht?

Das bedeutet, dass das gesamte Projekt neu gemacht werden müsste, Hardware, Software, Highlevel, Lowlevel, Treiber, einfach alles.

Weil das ein Haufen Arbeit ist, habe ich angefangen, mir über die Strukturen eines solchen Projektes Gedanken zu machen.

Übrigens: Wenn man auf "Closed Source Hardware" neue Open Source Software schreiben will, kommt man um ein wenigstens teilweises "Reverse Engineering" gar nicht herum (es wäre denn, der Entwickler hätte sich die Mühe gemacht, definierte APIs zu veröffentlichen - was hier nicht der Fall zu sein scheint). Ein solches Reverse Engineering wäre aber bereits unethisch.

Ich kann mir nicht vorstellen, wie ein gutes und dauerhaftes Projekt zu Stande kommen kann, dass mit einer solchen Handlung beginnt.

Abgesehen davon ist der Aufwand für das Reverse Engineering nicht wesentlich kleiner als der Aufwand für eine Neuentwicklung.
Darüber hinaus macht man sich abhängig von Komponenten, die vor einigen Jahren aktuell waren - wie lange sind sie aber noch lieferbar?
Die alte Hardware ist eben: Alt.

Andererseits hat Hardware auch in den letzten Jahren sehr große Fortschritte gemacht.
Zu erwähnen wäre z. B. die Ebene der Controllerchips, ohne die eine präzise UND schnelle UND leise UND langlebige UND dynamische Schrittmotorsteuerung unmöglich oder äußerst aufwendig wäre.

Weiter sind heute moderne Displays verfügbar und billig geworden; Komponenten, die USB plus Ethernet inklusive TCP/IP Stack (und ggf. Webserver) gleich mitbringen; Prozessoren, die wesentlich leistungsfähiger sind als vor wenigen Jahren und und und.

Führt man sich das vor Augen, wird schnell klar, dass jede Neuentwicklung ihrerseits in wenigen Jahren veralten wird.

Insgesamt: In meinen Augen sollte man 
1) nur eine Neuentwicklung in Betracht ziehen
2) diese Neuentwicklung möglichst unabhängig von der Hardware gestalten (siehe der Hinweis auf "EFL" von Elektor)

Der letzter Punkt ist wichtig, weil so vermieden wird, dass man viel Arbeit in etwas steckt, das bald veraltet.
Hardwareunabhängige Entwicklung ist zunächst aufwendig, versetzt einen aber in die Lage, neue Hardware zeitnah und mit wenig Aufwand zu integrieren - damit kann das Projekt viel länger leben und bleibt länger aktuell.

Wie Du ganz richtig sagst, muss man dabei wohl mit einem Feature-Subset beginnen; auch, damit die Motivation der Beteiligten nicht gegen unendlich klein tendiert. Jeder will am liebsten schon bald etwas in der Hand halten.

Dennoch muss zunächst das große Ganze gedacht und dokumentiert und als gemeinsames Ziel vereinbart werden.

Denn wenn man nicht von vorne herein alle späteren Features wenigstens definiert, läuft man große Gefahr, dass die Erst-Entwicklung nicht ausreichend flexibel und erweiterbar ist und sich daher als Sackgasse erweist. Das ist dann der GAU, sozusagen.

Hat man aber zunächst das Ganze gedacht und dokumentiert, darf der Anfang auch ruhig kleiner ausfallen, weil er den Weg zum Ganzen nicht verbaut.

Soweit meine Gedanken dazu - muss nun selber arbeiten!

Herzlich, Felix

ReneWal:
Hallo Felix.
Klingt alles gut was du sagst. Ich wusste ja nicht was du genau mit ihm geschrieben hast. Natürlich kann auch ich einsehen, dass er oft genug Nein gesagt hat.
Ich hatte die Idee mit dem Nutzen des vorhanden Know How auch nur um evtl. auf eine vorhandene Community aufzusetzen.
Ich denke in diesem neuen Forum wird dasaßest nichts. Hier liegt der Fokus dann einfach zu sehr auf der LFEP.
Die User hier werden fast alle eine solche haben und dafür auch einiges an Geld ausgegeben haben. Dies werden sie so einfach nicht abschreiben wollen und sich auf ein neues Projekt stürzen.
Grundsätzlich fände ich aber ein neues Projekt gut. Daher hier mal meine Feature Liste als Beginn:

Entwicklung einer GoTo teleskopsteuerung:
Nutzung der lx200 Standardkommandos
Anschluss über RS232, USB (zwar virtueller Com Port aber echter USB Anschluss, nicht so mistig wie bisher) und LAN. Der LAN Anschluss unter Verwendung eines Standardprotokolls das auch die Verfendung von z.B. Sky Safari zulässt.
Frei Programmierbar und Treiber welche alle üblichen Motoren steuern können.
Perfekt wäre wenn man Stepper UND/ODER gleichstrommotoren verwenden kann.
Anschliessbar sollten Encoder und st4 Geräte sein.
Programmierung über eine programmierschnittstelle und nicht wie bisher nur über rs232 so dass man die alte Schnittstelle endlich mal vergessen kann.

Soweit mal meine Ideen. Ist sicher noch erweiterbar.

FelixBuechner:
Lieber Rene,

ich verstehe gut was Du sagst. Ich bin ebenfalls keineswegs sicher, ob dieser Ort hier der richtige für eine solche Idee ist.
Andererseits ist ja in diesem Forum einiges "Do-It-Yourself" im Spiel und deshalb habe ich es auch hier ausgesprochen.

Ich warte jetzt erstmal ab, ob außer Dir und mir noch andere Diskutanten einsteigen oder nicht.

Mal sehen ob weitere Resonanz kommt - melde mich in ein paar Tagen, ok?

Best, Felix

Navigation

[0] Message Index

[#] Next page

Go to full version