Author Topic: Question for the regulars  (Read 13326 times)

Offline dragonlordged

  • Bot Neophyte
  • *
  • Posts: 18
    • View Profile
Question for the regulars
« on: November 02, 2009, 04:48:39 PM »
I have a question for the regulars who contribute code here. I came to your site through Wikipedia, which calls Darwinbots an Open Source Alife sim. I've done a bit of digging and found a file called ReadMe- Copyright notice.txt in the SVN repo for the code. I'm concerned that the restriction of use (part 3) doesn't fit the requirements of 'Open Source' that I've been taught. I'm looking around for an Open Source project to contribute to as part of a college project and would really like to help out with Darwinbots, but I'm not sure my professor will accept the project. Does anyone have any ideas to help me?

dlg

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Question for the regulars
« Reply #1 on: November 02, 2009, 05:41:45 PM »
It's open source in that the source is open to view and edit, but no, it's not really Free Software in that sense...

Darwinbots3 (still being worked on) is MIT licensed, though, so if you'd like to contribute and want an Open Source license, that'd be the way to go   The downside is that there really isn't enough of Darwinbots3 put together yet for screen shots, so it wouldn't necessarily make for a compelling presentation if that's the end goal.  Right now it just passes (most of) the unit tests written for it.

Darwinbots3 is organized like a commercial product (in that it has any organization at all ), so it would be a good experience if you haven't played with largish (tens of thousands of lines of code) projects.  And I'm always around and am more than willing to bend over backwards getting you (or anyone) up to speed if you want to contribute.

What sort of emphasis is your project?  Like is the goal more web based technologies or application programming?  I'm guessing it's application programming.  Do you have a particular area in mind as far as graphics, physics, math, GUI, etc.?  Also, DB3 is in C#/.NET, for what that's worth.

If you let me know what sort of class it's for I can probably think of a nice self-contained pass/fail sort of task that would make for a good presentation (assuming a presentation is required...).  I used some of Darwinbots2 for an algorithms class and it went over rather well.  Especially if you're math savvy, I have a cool project in mind involving splines that I don't have a ready baked solution for, so it would have a good bit of research/original research and implementation going on, and at the end you'd have a nice "this is the brute force solution" vs. "this is my solution; see how it's faster?" presentation.
« Last Edit: November 02, 2009, 05:44:26 PM by Numsgil »

Offline Shasta

  • Administrator
  • Bot Destroyer
  • *****
  • Posts: 231
    • View Profile
Question for the regulars
« Reply #2 on: November 02, 2009, 05:42:54 PM »
Quote from: dragonlordged
I have a question for the regulars who contribute code here. I came to your site through Wikipedia, which calls Darwinbots an Open Source Alife sim. I've done a bit of digging and found a file called ReadMe- Copyright notice.txt in the SVN repo for the code. I'm concerned that the restriction of use (part 3) doesn't fit the requirements of 'Open Source' that I've been taught. I'm looking around for an Open Source project to contribute to as part of a college project and would really like to help out with Darwinbots, but I'm not sure my professor will accept the project. Does anyone have any ideas to help me?

dlg
Well, DB3 is under the MIT license, it doesn't get a whole lot more open source than that. And looking at the (incredibly old) license in the DB2 repro I don't see how:
Code: [Select]
(3) Without the agreement of the author redistribution of this product is only allowed
in non commercial terms and non profit distributions.
is actually a problem.
« Last Edit: November 02, 2009, 05:44:21 PM by Shasta »

Offline ikke

  • Bot Destroyer
  • ***
  • Posts: 300
    • View Profile
Question for the regulars
« Reply #3 on: November 02, 2009, 11:25:23 PM »
From the non technical standpoint I'd not imagine problems. Propose and see if he takes offense. If he does there is a real problem. Maybe not a big one, so ask why the current way of working of DB is unacceptable to him. Ask to judge on what is is rather than on what it is not.

Offline Moonfisher

  • Bot Overlord
  • ****
  • Posts: 592
    • View Profile
Question for the regulars
« Reply #4 on: November 05, 2009, 10:32:17 AM »
I haven't seen the source for DB3, but from everything I've heard I think it would be the best project to work on. It may not have a lot of fancy screenshots, but it has proper unit testing and structure. Also since I think people are working more actively on DB3 there will be more guidelines and support.
I don't think the source for DB2.43 is a great example to follow, theres a lot of legacy and spagetti code in there.
So I would recommend DB3, although I haven't looked at the source myself
And I'd immagine it would still be possible to use screens from DB2 for a presentation, just to show what the end goal of the project is by refering to the previous version.
Also it sounds like the licence shouldn't be a problem if it's for a college project, but it might be that final projects have to be submitted to a publisher. Some universities publish their own papers, but others use a publisher which then requires a fee from anyone wishing to read the paper. (Something I'm firmly against, but what are you gonna do...)

Offline dragonlordged

  • Bot Neophyte
  • *
  • Posts: 18
    • View Profile
Question for the regulars
« Reply #5 on: November 05, 2009, 12:06:09 PM »
So here's the scoop. The class is called Open Source Software, and all they require is for me (and my partner) to get involved with an open source project. Unfortunately, I don't know C#, but I do know C++ and have heard it's an easy port. I haven't checked with the professor yet, but if DB3 is under the MIT license, I don't expect any problems.

Also, someone should update the wiki or website or something to say that DB2 is no longer under construction, because I was under the impression it was still being worked on and that the repository was still updated regularly.

dragonlordged

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Question for the regulars
« Reply #6 on: November 05, 2009, 12:55:58 PM »
Welcome aboard then

I'll see if I can find a nice place on the wiki to describe the current state of affairs.  Mostly I don't want to turn anyone off to DB2 development, because there are some rather serious bugs involving things like floating point overflow/underflow and a Visual Basic wizard (yes, it was written in visual basic) might be able to cleanly fix them all.  But yeah, it's not a pretty sight

For the curious, you can browse the SVN repository with your browser.  DB3 SVN server.  There's also a Darwinbots chat for developers.  If you need real time assistance I try to keep the window open during work and at home, so I'm probably going to be reachable with any questions ~12 hours a day.  Check out Developer chat.  The page takes a while to load and seems to only work under Firefox for some reason, but other than that it's pretty straightforward.

I have a page which describes what you need to do (with no assumptions about what you know) to get the code compiling and running.  Right now there isn't really a Darwinbots application; it's just a collection of sub modules (graphics, physics, linear algebra) that are still being worked on.  Once they're mostly complete I'll use them to build the Darwinbots3 application proper.  Each sub module has its own solution (with unit tests and the like).

Be sure to note (or just change yourself) and instructions there that are confusing/unnecessary/plain wrong.

Offline OSSP

  • Bot Neophyte
  • *
  • Posts: 2
    • View Profile
Question for the regulars
« Reply #7 on: November 11, 2009, 05:29:55 PM »
Hey guys, just making myself known. I do have some C# experience, so maybe that'll come in handy.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Question for the regulars
« Reply #8 on: November 11, 2009, 10:41:50 PM »
Quote from: OSSP
Hey guys, just making myself known. I do have some C# experience, so maybe that'll come in handy.

Sure, same thing.  If you follow the DB3 wiki page you can get the code compiling.  And I try to be helpful if you have any problems with it.  Most of what needs doing is pretty math and/or graphics heavy, though.  So fair warning.

Offline dragonlordged

  • Bot Neophyte
  • *
  • Posts: 18
    • View Profile
Question for the regulars
« Reply #9 on: November 30, 2009, 03:46:22 AM »
Not sure we've got the background to do the heavy graphics stuff. Found a page off the wiki that describes a Darwinbots 3 'Wish List' at http://www.darwinbots.com/WikiManual/index...ots_3_wish_list. Is this up to date? I at least have some (academic) knowledge of networking, and feel that I might be able to implement one of the two features under that category. Is this something that still needs to be done?

dlg

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Question for the regulars
« Reply #10 on: November 30, 2009, 01:32:39 PM »
Yes.  In fact, if you're comfortable with web programming in general (PHP/ASP.NET, setting up servers, etc.) I have a grand master plan involving a virtual private server that would make for an interesting project.  Though that would be less about programming and more about setting up a web server, so I don't know how appropriate that would be for your project.

The first one (program automatically knowing when new versions are available) is something you could set up for the current program, even.  I'm not sure how big of a project it would be, though.  The hard part would be potentially updating shortcuts once a new version is downloaded.  Or maybe you could write a program that automatically chooses the most recent version and runs that, and then all that would be required is an automatic restart of the current program.

As far as having the program let you download bots directly from the bestiary, the hard part is setting up a web interface for users to add their bots.  The basic work flow I'd like is for users to write a bot and go to a certain page in a bestiary site to upload it.  The site would tie in its login to the forum (might not be possible with our current forum software, but I was thinking of switching for DB3 anyway) and wiki, so there would be just one login.  The user could even come back and (in a version controlled way similar to the wiki) post new versions of their particular bot.  You could set up tags describing the bot you've built.

Then inside the program it browses bots in the bestiary and lets you download them.  There isn't enough of DB3 right now to work on some of the integration stuff (I was thinking of something like having bots come with "demo settings", so you can just one-click and get the bot running on your machine to see what it does), but you could certainly set up bestiary browser.  If you were to do the web side of things in ASP.NET, you could probably share much of the code between the web site and the actual program.  You could even do something simple like hook in to the .NET web browser controls and just web browse to the bestiary maybe.

You wouldn't necessarily need to program this all from scratch.  It would probably be better if you didn't, actually, since we could take advantage of upgrades and the like.  But I don't know what the requirements for your project are.

Basically I'm being really picky for DB3 stuff, so development would be sort of "agile".  You'd present plans and get feedback from me.  You'd partially implement them, and I'd play around with them and give feedback, and you'd end up scraping large sections of code and try again as I annoyingly change my mind without any real idea of what I want

There's also a task list if you want to look over it and see if there's something there you'd rather work on.  An error console would be a pretty cool project, too.  You could build a base "console" type widget we could use in other places, too, and then use that to build a nice "oops, Darwinbots has crashed, send error report?" widget.

Also, which time zone are you in?  I'm in Pacific time.

Sorry for the wall of text
« Last Edit: November 30, 2009, 02:21:38 PM by Numsgil »

Offline Peter

  • Bot God
  • *****
  • Posts: 1177
    • View Profile
Question for the regulars
« Reply #11 on: December 01, 2009, 03:10:43 PM »
Quote from: Numsgil
As far as having the program let you download bots directly from the bestiary, the hard part is setting up a web interface for users to add their bots.  The basic work flow I'd like is for users to write a bot and go to a certain page in a bestiary site to upload it.  The site would tie in its login to the forum (might not be possible with our current forum software, but I was thinking of switching for DB3 anyway) and wiki, so there would be just one login.  The user could even come back and (in a version controlled way similar to the wiki) post new versions of their particular bot.  You could set up tags describing the bot you've built.
Didn't someone already do this? It was a separate login, btw. And not in the program self. What happened with that?
Oh my god, who the hell cares.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Question for the regulars
« Reply #12 on: December 01, 2009, 04:08:24 PM »
Shasta has something in cakePHP right now so that would be a good place to start.  I think we want to use asp.net, though, since that would make it easier to bridge the gap between the web side and app side.

Offline dragonlordged

  • Bot Neophyte
  • *
  • Posts: 18
    • View Profile
Question for the regulars
« Reply #13 on: December 02, 2009, 02:19:04 AM »
Currently I'm still stuck getting the code to compile correctly and run the tests. I think we'll be starting off with the console functionality.

Offline Numsgil

  • Administrator
  • Bot God
  • *****
  • Posts: 7742
    • View Profile
Question for the regulars
« Reply #14 on: December 02, 2009, 12:06:08 PM »
I'm on a business trip till Friday, so we can't do the chatting thing. What sort of problems are you encountering?