# Open Source für Anfänger, neues Projekt-> Interesse?



## nospam (28. Sep 2006)

Hallo zusammen. 

Ich plane, demnächste zwei Projekte (entweder eines von beiden oder beide, je nach Beteiligung) zu starten. Und suche dafür noch Leute, die ähnlich denken wie ich und Interesse haben, daran mitzuarbeiten. Außerdem wäre ich über Tipps und Ratschläge sehr dankbar. 

Hintergrund: Ich bin gelernter Anwendungsentwickler und derzeit in einer IT Firma angestellt. Allerdings arbeite ich mit einer absolut veralteten Programmiersprache. Außerdem bin ich mehr in der Wartung, als in der Neuentwicklung tätig. Das frustet auf Dauer und man möchte mal etwas neues machen. Ich habe schon ein wenig Erfahrung mit Objektorientierung und Java sowie Tomcat / JSP gesammelt. Außerdem habe ich etwas Ahnung von 

Oracle und MySql. 

Wunsch: Ich denke, daß Java als Programmiersprache einfach die Zukunft ist. Eclipse halte ich dabei für offenbar eine der beliebtesten Entwicklungsumgebungen. Wenn ich also noch ein paar wenige Mitinteressierte 

finden könnte, würde ich gerne folgende Projekte starten als open source, sie auf einer Homepage mit Quellcode zur Verfügung stellen und ein Forum dazu online stellen etc. Mit der Pageadministration kenne ich mich aus und ich hab noch Webspace sowie eine Domain frei. Das ist das geringste Problem. Über das Forum kann man sich dann gegenseitig den Quellcode zukommen lassen, diskutieren, Fragen stellen etc. Also richtig als Projekt arbeiten. 

Wunschprojekt1: 

- Eine (Web?)anwendung oder Applikation unter 
  * Java 
  * Eclipse 
  * einer Datenbank wie Oracle oder MySQL oder Postgre (wobei ich letzteres nicht kenne) 
  * möglicherweise JBOSS / Tomcat oder so, wobei ich davon keine Ahnung habe bisher, das hängt von euren Vorschlägen ab. 

Also auf gut Deutsch eine Anwendung mit Datenbank- und Clientlogik, mit Benutzerauthentifizierung, Session-Management,... so in die Richtung 

Wunschprojekt2: 

- Ein Game 
  * in Java 
  * Rundenbasiert 
  * soll in die Richtung Star Trek - Birth of the Federation gehen, wer das kennt 
  * mit einer 2D-Oberfläche (aber wie programmiert man die?!?) mit klickbaren 
    Feldern etc. 
  * Mit Erforschung einer Karte, Ausbau, steuerbaren Einheiten etc. 
  ... alles möglichst simpel für den Anfang, später ausbaufähig. 
  (am liebsten über Wava Web Start startbar...) 


Alleine werde ich die Projekte aber nicht starten, das weiß ich jetzt schon. Wenn, dann muß von eurer Seite aus Interesse bestehen. Ich hätte auch nen TS-Server, wo man sich über das eine oder andere unterhalten kann. 

Meinungen? Links? Vorschläge? Wünsche? Ideen? Kritik?...


----------



## KSG9|sebastian (28. Sep 2006)

nospam hat gesagt.:
			
		

> Über das Forum kann man sich dann gegenseitig den Quellcode zukommen lassen, diskutieren, Fragen stellen etc. Also richtig als Projekt arbeiten.



Na da wäre wohl eine Versionierungssoftware besser.. SVN, "notfalls" CVS.

Und was meinst du mit ner Webanwendung? Einfach irgendeine Anwendung mit Lückenfüller-Inhalt? Glaub kaum dass jemand dafür Zeit hat, schließlich kommt ja nichts wirklich produktives raus. Auser ne Anwendung ohne Inhalt...


----------



## AlArenal (28. Sep 2006)

Vor allem würde ich für ne Webanwendung ohne Inhalt lieber ne Stunde Zeit nehmen, in der ich Ruby runterlade und installiere, Ruby on Rails runterlade und installiere, MySQL runterlade und installiere und analog zu den Tutorials auf der Website einfach ne Beispielanwendung erzeugen lasse.

BTW ist Java die Gegenwart. Was die Zukunft bringt, wird sich noch zeigen


----------



## LoN_Nemesis (28. Sep 2006)

Das Spiel klingt interessant, macht das! Ich hab leider momentan eigene Projekte und deshalb keine Zeit dafür.

Man könnte auch beides kombinieren: Ein Spiel als Webstart Anwendung, bei dem man den Spielfortschritt auf einem Server in einer Datenbank speichert. Dann machts wenigstens Sinn


----------



## nospam (28. Sep 2006)

wie die software aussehen sollte (beispiel "videothekensoftware" oder was weiß ich), kann man ja gemeinsam überlegen (die interessierten leute). nur gehts mir drum die technik zu lernen und ne art "schablone" für künftige projekte zu haben. davon profitieren ja dann alle, weil jeder den quellcode hernehmen kann und damit eigene webprojekte oder anwendungen erstellen kann.

ich würd das gerne machen. nur alleine nicht.


----------



## KSG9|sebastian (29. Sep 2006)

Also bevor du anfängst solltest du dich mal über die gängigen Frameworks und Tools informieren. Sonst dauert das Projekt 6 Jahre und du hast noch nichts 

Build-Process
- Ant
- Maven / Maven2

Versionierung
- SVN
- CVS

Frameworks/Librarys
- Spring
- Struts (Lib für Webentwicklung)
- JSF (siehe Struts)
- Shale (siehe Struts)
- Hibernate (O/R-Mapping)

Und dann gibts noch tausend weitere. Ob du die genannten brauchst oder nicht musst du selbst entscheiden. Jedoch würde ich persönlich auf keinen Fall ein Projekt ohne Spring und Hibernate starten (sofern es nicht zuviel overhead erzeugt).


----------



## padde479 (29. Sep 2006)

@nospam
An was für eine Web-Anwendung hast Du dabei denn gedacht. Ich würde mich gerne anschließen. Ich programmiere bei meiner Arbeit im Moment nur mit Visual Basic.NET, finde Java aber auch viel spannender und komfortabler. Bei meiner Diplomarbeit habe ich ebenfalls mit Eclipse, MySQL und Tomcat/JBoss beschäftigt und eine Web-Anwendung entwickelt. War super interessant. Melde Dich mal.

Gruß
Padde


----------



## SammY (29. Sep 2006)

Also ich wär auch dabei.
Bitte mehr Infos.


----------



## thomator (29. Sep 2006)

Huhu,

klingt grundsätzlich schon interessant. Ich würde auch, so ich die Zeit finde, ein bissi mitmachen. Ich bin auch am Entwickeln von Java-Apps in Eclipse. Dabei auch Servlets und so....

Aber als erstes sollte da wirklich mal die Umgebung für die Versionierung festgeklopft werden. So mit einfach Sourcen per Mail durch die Gegend schießen, das geht schief.

Da muss schon irgendwo zentral ein CVS-Server gehostet werden, wo alle Beteiligten entsprechenden Zugriff haben.
Nur so kannst Du die verteilte Entwicklung ordentlich durchführen.

Wenn es ein Game werden soll, muss auch klar sein, dass eine vernünftige Gegner-KI notwendig ist. Und das am besten mit einem neuronalen Netz, damit die Gegner aus Ihren Fehlern auch lernen können und sich nicht zu vorhersehbar verhalten. Und das ist schon ein richtiger Klops!!! Wenn so was nicht von vornherein berücksichtigt wird, dann wird das Projekt irgendwann einfach ein und hinterläss nur unzufriedene Beteiligte (aus eigener Erfahrung, dann hast Du nämlich irgendwann eine schöne Klicki-Bunti Oberfläche und nix dahinter).

Im ersten Schritt sollte man mal versuchen, festzumachen WAS gemacht werden soll und dann wie.
Eclipse als Entwicklungsumgebung ist die einzige, vernünftige Alternative (seh ich zumindest so). Und dann halt wie gesagt die Umgebung für die verteilte Entwicklung (CVS oder so).

Außerdem muss dann natürlich auch irgendeine Struktur in das Projekt, so in Bezug auf den Entwurf und so. So ganz ohne Modellierung und Strukturierung wird so ein Projekt auch nicht funktionieren. Gerade, weil die Kommunikation und Koordination in solchen Open-Source Geschichten ziemlich schwierig ist. Also ein schlankes Projektmanagement gehört auch dazu.

Wie gesagt, so mein 7-wöchiges Töchterle mir etwas Zeit lässt, mach ich gerne mit...

Thomas


----------



## RicoSoft (29. Sep 2006)

wäre grundsätzlich auch dabei, würde natürlich eher subversion als cvs nehmen, lieber maven als ant, am liebsten webapp mit spring und ibatis 

spass beiseite, bin flexibel, aber würde auch mal mithelfen.


----------



## LoN_Nemesis (29. Sep 2006)

thomator hat gesagt.:
			
		

> Wenn es ein Game werden soll, muss auch klar sein, dass eine vernünftige Gegner-KI notwendig ist. Und das am besten mit einem neuronalen Netz, damit die Gegner aus Ihren Fehlern auch lernen können und sich nicht zu vorhersehbar verhalten. Und das ist schon ein richtiger Klops!!! Wenn so was nicht von vornherein berücksichtigt wird, dann wird das Projekt irgendwann einfach ein und hinterläss nur unzufriedene Beteiligte (aus eigener Erfahrung, dann hast Du nämlich irgendwann eine schöne Klicki-Bunti Oberfläche und nix dahinter).



Das mit dem neuronalen Netz halte ich für etwas übertrieben. Ich glaube die kommerziellen Spiele mit (vortrainiertem) neuronalem Netz kann man an einer Hand abzählen. Und solche mit "richtigem" neuronalen Netz, die wirklich während des Spiel dazulernen gibt es genau 2: Creatures 1 und 2. Das was nospam da vorgeschlagen hat, klingt ja eher nach einen rundenbasierendem Strategie-/Taktikspiel, glaub mir, da reicht es einfach ein bisschen Scripting zu machen.


----------



## thomator (29. Sep 2006)

Jo, kann sein...

Na ja, das scripten alleine reicht aber auch nicht. Die Gegner müssen sich ja in irgendeiner Form entwickeln (Wirtschaft, Population, Militär, Diplomatie). Da hängt schon eine Menge dran! 

Aber grundsätzlich magst Du Recht haben, neur. Netze ist schon bissi mit Kanonen auf Spatzen.
Ich wollte eigentlich die Aufmerksamkeit eher darauf lenken, dass zu einem rundenbas. Game eben nicht nur eine schicke Oberfläche gehört, sondern dass im Hintergrund der eigentliche Kern tickt. Und der ist wahrscheinlich wesentlich komplexer, als das Frontend.

Thomas


----------



## SammY (29. Sep 2006)

Und wenn wir ein Browsergame oder so machen würden.

so im stiel pvp dann würden wir und die KI sparen.


----------



## thomator (29. Sep 2006)

Das würde es zumindest vereinfachen...


----------



## SammY (29. Sep 2006)

Also ich würd vorerst nen ftp server zur Verfügung stellen.

Hab aber leider nur 1000 dsl.


----------



## SammY (29. Sep 2006)

Was halt auch cool wäre, wär sowas wie eve wo man nach getaner arbeit vielleicht auch ein paar euros damit verdienen kann.

Sind aber jetzt nur spekulationen.


----------



## thomator (29. Sep 2006)

Auch nich ganz ungefährlich, dann is es nämlich eine Nebenerwerbstätigkeit und muss Dir von Deinem Arbeitgeber genehmigt werden (soweit ich mich mich Arbeitsrecht auskenne...)


----------



## SammY (29. Sep 2006)

Das stimmt schon aber bis dahin ist es sowieso ein weiter weg und ich glaub darum müssen wir uns jetzt noch keine Gedanken machen.

War ja auch nur so eine spekulation von mir.

jetzt müssen wir erst mal beschließen was wir eigentlich machen.


----------



## KSG9|sebastian (29. Sep 2006)

*Versionierung , Frameworks & Librarys*

---------
Versionierung
- SVN Server auf nem virtuellen oder root-Server

Buildprocess
- Maven 2

Frameworks für die Webanwendung
- Spring (must have)
- Hibernate (must have) & JDBC normal (geht gut über Spring)

Architektur
- SOA (service-oriented architecture)
---------

Warum SVN? 
Mehr Funktionen als CVS. SVN geht über HTTP,  CVS muss man meistens am Proxy freischalten und das geht in den Firmen nicht.

Warum Maven 2?
Aus den Fehlern wurde beim Maven Project Team gelernt. Viele Dinge sind einfacher gehalten als bei Maven1. Eigene Plugins mittlerweile in Java möglich. Keine Ant-Basis mehr.

Warum Spring?
Anwendung ist state-of-the-art. DependencyInjection u.s.w. alles dabei. Anwendung und vor allem die Services (siehe nächster Abschnitt) bleiben loose gekoppelt, austauschbar und sehr flexibel.

Warum Hibernate?
Hätte ich als BasisImplementierung vorgeschlagen. Nimmt einem sehr viel arbeit ab, lange nicht so Fehleranfällig wie native JDBC. Zudem bietet Spring sehr guten Support für Hibernate.

Warum SoA?
Damit kann man die Anwendung auf einfache Art sehr flexibel halten. Vor allem in Punkto Datenbankanbindung. Einfach nen Service anbieten welcher beliebig austauschbar ist und dann per Spring den entsprechenden konfigurieren. Bsp. für solche Services:
- HibernateServiceImpl
- JdbcServiceImpl
- WebdavServiceImpl
- FileSystemServiceImpl
So legt man sich nicht auf eine bestimmte (Persistenz)platform fest.
-------------
Jetzt, was schlagt ihr vor? Packt einfach den Abschnitt von mir und fügt eure Vorschläge hinzu. Nach Möglichkeit noch ne kurze Erkärung warum ihr was verwenden wollt. Ich fang mal an.

Edit:
Wir könnten stevg höflich fragen ob er uns nicht ne eigene Kategorie aufmacht? Ist vielleicht besser als alles in ein Thread zu stopfen.


----------



## KSG9|sebastian (29. Sep 2006)

hab stevg ne PM geschrieben


----------



## SammY (29. Sep 2006)

Was halt auch wichtig ist, man sollte vorher mal klarstellen was wir eigentlich machen wollen.

Der Anfangen den KSG9|sebastian gemacht hat ist sehr gut, aber wir müssen halt mal klären was wir machen.


----------



## KSG9|sebastian (29. Sep 2006)

Wenn wir die Kategorie kriegen dann teile ich mal das Thema hier in die entsprechenden Bereiche. Deshalb

*Wenn jemand was schreibt dann bitte ne Überschrift um was es geht*

- Was wollen wir machen?
- Versionierung?
- Frameworks und Librarys?
- Lizenz?

u.s.w.


----------



## KSG9|sebastian (29. Sep 2006)

*Was wollen wir machen*

Ich bin dafür dass wir ne flexible Webanwendung bauen. Will heißen: Kein System dass für ein Gebiet da ist. Also nicht sowas wie "Clanpage", "Newspage" oder so sondern mehr in Richtung CMS. Ob wir dabei auf Servlets, Portlets oder was eigenem aufsetzen ist mir wurschd.
Folgendes fänd ich Klasse:

- eigene Webtechnologie mit Content u. Document Management System

Vom aufbau her in Richtung Portlets. D.h. ne Seite besteht aus lose gekoppelten Anwendungen in Form von WAR-Archiven oder was auch immer. Hinter jeder Anwendung läuft ein Servlet o.ä. Ein Container baut dann die Seiten rollenbasiert zusammen.
D.h.

*Modul Container*
Zentrale Einheit für das erzeugen der Seite
*Modul Berechtigungen*
Regelt die Zugriffe auf Seiten, Resourcen, Module, Anwendungen
*Modul CMS*
Verwalten von sämtlichen Inhalten
*Modul DMS*
Verwalten von Dokumenten
*Modul Upload (mach ich grade schon, Infos folgen*
Verwalten von sämtlichen Uploads (pdf, img, doc, xls u.s.w.)
*Modul .....*

Das ist nur mal so runtergeschrieben "ohne große Gedanken zu verschwenden". Ist sehr umfangreich aber mit guter Planung und Know-How auf jeden Fall machbar.

*Inhalt der Anwendung*
Wie wärs mit nem großen Portal rund um Java, sprich Artikel, Tutorials u.s.w. Es gibt so viele Techniken wo man sich aus kleinen bescheidenen Tutorials alles zusammensuchen muss. Ne gescheite Platform dazu wär echt mal was geiles.

Andere Vorschläge? Was denkt ihr darüber? Lust auf sowas oder eher nicht?


----------



## nospam (29. Sep 2006)

schön daß das ganze also interesse geweckt hat.
webspace, ftp etc. habe ich. auch ne mysql datenbank. das ist nicht das problem. ich glaub es gibt kostenlose versionsverwaltungen. ich werd mich am wochenende damit beschäftigen und sowas einrichten, inklusive trotzdem einem diskussionsforum und einem teamspeak-channel. danach meld ich mich hier drin nochmal und geh auf die oberen posts ein, poste die adresse zum forum und wir können uns also gedanken drüber machen, welches projekt es denn nun wird 

ich hoffe ihr seid motiviert, ich werd den rahmen dafür gerne schaffen. grüßle und schönes wochenende!


----------



## KSG9|sebastian (29. Sep 2006)

hast du nen root oder virtuellen server? webspace hilft imho nicht wirklich weiter.


----------



## KSG9|sebastian (29. Sep 2006)

SVN: http://subversion.tigris.org/


----------



## SammY (4. Okt 2006)

Wollt mal fragen was los ist??
Letzte woche taten alle noch so interessiert und was ist jetzt??

Projekt schon wieder beendet oder wie??


----------



## Cyph3rlink (4. Okt 2006)

ist das nicht immer so?


----------



## SammY (4. Okt 2006)

Ich hätte gehofft das es nicht so ist. Schade


----------



## KSG9|sebastian (4. Okt 2006)

ich bin immernoch interessiert


----------



## SammY (5. Okt 2006)

Ich wär auch noch interessiert.
Bekommen wir jetzt ne eigene Kategorie?


----------



## KSG9|sebastian (6. Okt 2006)

wart auf die antwort antwort von stevg


----------



## SammY (6. Okt 2006)

Ist das jetzt eigentlich noch aktuelle oder ist das Projekt eh schon wieder in vergessenheit geraten??

Irgendwie intressierts auf einmal keinen mehr!!!


----------



## Gast (6. Okt 2006)

alle warten halt bis der threaderöffner wieder was schreibt...


----------



## SammY (7. Okt 2006)

und warum nehmen wir das ganze nicht selber in die hand?


----------



## Gast (7. Okt 2006)

Weil keiner die entscheidende die Initiative in die Hand nehmen will :-(


----------



## Gast (12. Okt 2006)

Will da wirklich keiner was für tun (ich kann noch nix in java...)?


----------

