Welcome! Log In Create A New Profile

Advanced

release process / organization

Posted by ZachHoeken 
release process / organization
April 27, 2007 10:57AM
The recent discussion about releases, and the impending 1.0 release of Darwin has prompted me to analyze and break down our process for making a release. I've done some research on various other large open source projects (Linux, KDE, etc), and their organizational structure. Combined with the unique aspects of the RepRap project, I think I've come up with a few positions that should make the release process much easier and more organized. Keep in mind that these positions apply to the release only... and not development. Anyone and everyone is still invited to contribute to the development of the various areas. These people would be in charge of releasing their respective areas of the project. Of course, it would make alot of sense for someone who is directly involved in the development of the area to be in charge of releasing it.

I suggest we adopt this process, fill the positions, and then make a preliminary release ASAP of the project in its current state. To someone not directly involved in the project, it may appear that we dont have much done... which is pretty far from the truth. The fact is that we are very close, but its just not organized and packaged very well. If we break it down into manageable chunks, we should be able to get this beast whipped into shape and ready for a more general audience.

Also, I think it might be a good time to possibly recruit some outside help from others. One position that springs to mind is the person in charge of host software. It seems as if Adrian has been doing most of the development on it. Like most of us, he is alraeady involved with TONS of other things, and could probably use some help. I think we could probably have good luck finding an interested party to help us package and get the controller software ready to rock.

Below are the positions I've come up with, let me know what you think.

Host Software Release Lizard
This person would be in charge of maintaining, compiling, and releasing the Java host software for the RepRap project. When a new version of the host software is ready, they would do a quick test of it on their system, compile it to whatever the best cross-platform binary Java format available, and then add it to the release tarball. Ideally they should have solid knowledge of both Java and Eclipse and be able to setup a nice, automated build system. If they could setup installers for various OS'es (Linux, Windows, OSX) that would be icing on the cake.

My nomination: ???

Firmware Release Lizard
This person would be in charge of maintaining, compiling, and releasing the RepRap firmware for both extruders, and the 3 axes. When a new version of the firmware is ready, they would compile the firmware, do a quick sanity test on their boards (its essential they have current versions of the boards they are maintaining firmware for), then add the firmware to the release tarball. Ideally they should have a solid knowledge of sdcc, PIC processors, and the C language.

My nomination: Simon

Electronics Release Lizard
This person would be in charge of maintaining and releasing new versions of the RepRap electronics. They would need a good understanding of KiCad, and would be involved in taking a board design from schematic to KiCad board layout, ready for manufacture. They don't have to be able to design circuits per-se, but they do need to be able to take a KiCad and create a working, board layout that can be easily manufactured and assembled. They would need the financial support of the foundation to order prototype boards for testing.

My nomination: Me

Mechanics Release Lizard
This person would be in charge of maintaining and releasing new versions of the 3D RepRap parts. They would take AoI files, convert them to STL, then add them to the release tarball. They would need to have a decent understanding of AoI, however all they really need to know how to do is take the AoI files and convert them into STL files with the optimum parameters (resolution, etc)

My nomination: Adrian
Re: release process / organization
April 30, 2007 09:35AM
This sounds like a good idea to me, and I'm happy with all the
nominations. It may be (if we can find the time) that the Host Software
Release Lizard should be Simon and me plus a helper as yet to be appointed.

However, I am concerned about one thing: that we do not do any official
release until RepRap works. By that I mean that it can make most of its
STL parts mostly accurately enough most of the time. I don't think that
we are quite there yet, though I agree that we're close.

Best wishes

Adrian

Dr Adrian Bowyer
[staff.bath.ac.uk]
[reprap.org]


RepRap Forum Mailer wrote:

> Host Software Release Lizard This person would be in charge of
> maintaining, compiling, and releasing the Java host software for the
> RepRap project. When a new version of the host software is ready,
> they would do a quick test of it on their system, compile it to
> whatever the best cross-platform binary Java format available, and
> then add it to the release tarball. Ideally they should have solid
> knowledge of both Java and Eclipse and be able to setup a nice,
> automated build system. If they could setup installers for various
> OS'es (Linux, Windows, OSX) that would be icing on the cake.
>
> My nomination: ???
>
> Firmware Release Lizard This person would be in charge of
> maintaining, compiling, and releasing the RepRap firmware for both
> extruders, and the 3 axes. When a new version of the firmware is
> ready, they would compile the firmware, do a quick sanity test on
> their boards (its essential they have current versions of the boards
> they are maintaining firmware for), then add the firmware to the
> release tarball. Ideally they should have a solid knowledge of sdcc,
> PIC processors, and the C language.
>
> My nomination: Simon
>
> Electronics Release Lizard This person would be in charge of
> maintaining and releasing new versions of the RepRap electronics.
> They would need a good understanding of KiCad, and would be involved
> in taking a board design from schematic to KiCad board layout, ready
> for manufacture. They don't have to be able to design circuits
> per-se, but they do need to be able to take a KiCad and create a
> working, board layout that can be easily manufactured and assembled.
> They would need the financial support of the foundation to order
> prototype boards for testing.
>
> My nomination: Me
>
> Mechanics Release Lizard This person would be in charge of
> maintaining and releasing new versions of the 3D RepRap parts. They
> would take AoI files, convert them to STL, then add them to the
> release tarball. They would need to have a decent understanding of
> AoI, however all they really need to know how to do is take the AoI
> files and convert them into STL files with the optimum parameters
> (resolution, etc)
>
> My nomination: Adrian


--
_______________________________________________
Developers mailing list
Developers@reprap.org
[reprap.org]
Re: release process / organization
April 30, 2007 10:47AM
i'm going to have to respectfully disagree with you on this one. let me address each point individually.

host software:
this is something that can co-exist with the reprap hardware. its also fairly complicated. if we are serious about going prime-time with the RepRap project, this needs to be in top shape. first off, it needs to work. it needs to be easy to install, and it needs to be easy to use. no offense, but right now, i'd say it gets a 1/3. it uses an old version of java3d, its a PITA to get installed, etc.

this is something that we can be working on *in parallel* with the main reprap project. i understand you're busy... you're juggling 100 different things in a large project. that is why i think we should recruit an outside developer to take over maintaining this aspect of the software. that doesnt mean that they are the only one allowed to work on it... quite contrary. rather, we just need someone to:

* get the build process setup and release testing versions for linux, pc, and osx.
* get the 3d system sane. why are we using an old version of java3d? we should look at how other open source 3d systems (AoI?) are doing it and copy their methods.
* get it out in the wild. we need people to test it BEFORE the v1.0 release so that when we do finally get there, our software actually works.

does anyone mind if i start asking around and see if there are any java developers out there interested in helping out with getting our host software ready to rock? if we find the right person, our software worries would pretty much be over. depending on their level of skill / interest they might even be willing to help with the slice/dice algorithms and such. either way, this area needs some work.

firmware:
we need to standardize on the chip model and get firmware binaries out. i've written a script to automate this process, which should be helpful. granted, this is something that doesn't really come into play until we get boards made up, but we are *nearly* there. i really shouldnt be involved in this area... i'm in way over my head. once i get the v1.0 boards out the door i'm going to seriously start looking for help because i'm just not qualified. i'm a complete n00b and we really need someone with experience to be making decisions on boards that we are going to spend $1000 on. any takers?

mechanics:
yeah, this one doesnt make much sense to spend alot of time making releases before v1.0. however, we should make a bare minimum attempt to actually get the files out on the internet in some form. having the tarball of them on sourceforge counts and does the job. plus, these files will help alot in testing the host software, and for people following along at home.

basically heres my point: we are pursuing a very lofty engineering goal. there are parts of it that can be worked on independently, and that if we can find people to work on them while other things get done, we should. also, if we have things that might be useful to other people, we should put them out on the internet.
Re: release process / organization
April 30, 2007 11:06AM
makes sense.
Re: release process / organization
April 30, 2007 11:22AM
I agree with your disagreement with me. I'd like to do so
disrespectfully for the full symmetric beauty of it, but I can't figure
out how to agree with someone disrespectfully :-)

[Logic professor: "Two negatives always make a positive, but two
positives never make a negative."

Weary voice from the back: "Yeah, yeah..."]

--

Best wishes

Adrian

Dr Adrian Bowyer
[staff.bath.ac.uk]
[reprap.org]


RepRap Forum Mailer wrote:
> Author: ZachHoeken
> Username: ZachHoeken (mykin.us)
> Subject: Re: release process / organization
> Forum: Developers
> Link: [forums.reprap.org]
> Approved: Yes
>
> i'm going to have to respectfully disagree with you on this one. let me address each point individually.
>
> host software:
> this is something that can co-exist with the reprap hardware. its also fairly complicated. if we are serious about going prime-time with the RepRap project, this needs to be in top shape. first off, it needs to work. it needs to be easy to install, and it needs to be easy to use. no offense, but right now, i'd say it gets a 1/3. it uses an old version of java3d, its a PITA to get installed, etc.
>
> this is something that we can be working on *in parallel* with the main reprap project. i understand you're busy... you're juggling 100 different things in a large project. that is why i think we should recruit an outside developer to take over maintaining this aspect of the software. that doesnt mean that they are the only one allowed to work on it... quite contrary. rather, we just need someone to:
>
> * get the build process setup and release testing versions for linux, pc, and osx.
> * get the 3d system sane. why are we using an old version of java3d? we should look at how other open source 3d systems (AoI?) are doing it and copy their methods.
> * get it out in the wild. we need people to test it BEFORE the v1.0 release so that when we do finally get there, our software actually works.
>
> does anyone mind if i start asking around and see if there are any java developers out there interested in helping out with getting our host software ready to rock? if we find the right person, our software worries would pretty much be over. depending on their level of skill / interest they might even be willing to help with the slice/dice algorithms and such. either way, this area needs some work.
>
> firmware:
> we need to standardize on the chip model and get firmware binaries out. i've written a script to automate this process, which should be helpful. granted, this is something that doesn't really come into play until we get boards made up, but we are *nearly* there. i really shouldnt be involved in this area... i'm in way over my head. once i get the v1.0 boards out the door i'm going to seriously start looking for help because i'm just not qualified. i'm a complete n00b and we really need someone with experience to be making decisions on boards that we are going to spend $1000 on. any takers?
>
> mechanics:
> yeah, this one doesnt make much sense to spend alot of time making releases before v1.0. however, we should make a bare minimum attempt to actually get the files out on the internet in some form. having the tarball of them on sourceforge counts and does the job. plus, these files will help alot in testing the host software, and for people following along at home.
>
> basically heres my point: we are pursuing a very lofty engineering goal. there are parts of it that can be worked on independently, and that if we can find people to work on them while other things get done, we should. also, if we have things that might be useful to other people, we should put them out on the internet.
> _______________________________________________
> Developers mailing list
> Developers@reprap.org
> [reprap.org]


_______________________________________________
Developers mailing list
Developers@reprap.org
[reprap.org]
Re: release process / organization
April 30, 2007 01:02PM
cool, so i'll start asking around and see if we can find someone that would like to help out packaging/debugging/getting the graphics rocking on our host controller.

if anyone knows someone who might be interested, please send them our way.

also, once we get things on the host going well, i have a whole list of things i'd like to see. number one being a controller that can run on limited hardware (ie. doesnt require 3D) something that could take pre-generated XML path files and simply print them. once the other things get more stabilized, and i find someone to help out / take over the circuit board stuff then i'd love to get in and do some work on the UI and data formats for the controller. i dont know much about 3d stuff, but i do have quite a bit of experience in general programming.
Re: release process / organization
April 30, 2007 01:05PM
That XML file format that you and I cooked up a while back might be very useful in that regard.
Re: release process / organization
April 30, 2007 01:07PM
yup... thats exactly what i was thinking. i think there are some VERY cool things we can do with XML and objects stuff.
Re: release process / organization
April 30, 2007 01:09PM
It's been a life saver for me. The real strength of it is that you can just go in an edit the file to try out different things rather than go all the way back into the slice and dice software.
Re: release process / organization
April 30, 2007 01:17PM
My wish list:

1. Get the simulation throwing away previous layers and replacing them
with a triangulated shell (I've written a load of buggy code for this;
it's in there, but switched off).

2. Put extruders in charge of all the machine's variables, so when you
switch to a new extruder, all the parameters are right for its material.

3. Get the code generation for collapsing 4-element CSG expressions working.

4. Get the support generating code in there (this should be trivial, given 3).

Best wishes

Adrian

Dr Adrian Bowyer
[staff.bath.ac.uk]
[reprap.org]

Quoting RepRap Forum Mailer :

> Author: ZachHoeken
> Username: ZachHoeken (mykin.us)
> Subject: Re: release process / organization
> Forum: Developers
> Link: [forums.reprap.org]
> Approved: Yes
>
> cool, so i'll start asking around and see if we can find someone that
> would like to help out packaging/debugging/getting the graphics
> rocking on our host controller.
>
> if anyone knows someone who might be interested, please send them our way.
>
> also, once we get things on the host going well, i have a whole list
> of things i'd like to see. number one being a controller that can
> run on limited hardware (ie. doesnt require 3D) something that could
> take pre-generated XML path files and simply print them. once the
> other things get more stabilized, and i find someone to help out /
> take over the circuit board stuff then i'd love to get in and do some
> work on the UI and data formats for the controller. i dont know much
> about 3d stuff, but i do have quite a bit of experience in general
> programming.
> _______________________________________________
> Developers mailing list
> Developers@reprap.org
> [reprap.org]
>



_______________________________________________
Developers mailing list
Developers@reprap.org
[reprap.org]
Sorry, only registered users may post in this forum.

Click here to login