Re: [legal] Bulk contribution barrier to entry
Hi, On Tue, 2005-10-11 at 08:52 -0500, Archie Cobbs wrote: Same with the FSF. E.g., Classpath hackers must sign a document granting the FSF copyright. This is so the FSF can be allowed to distribute Classpath without getting explicit permission from every author (which would be very unweildy). But the original authors still are allowed to distribute their own work too, even under a non-free license, if they want to. Yes. The idea is that the contribution is a gift to the Free Software community in the first place. So the standard contract has a clause that permits you to use your code even in proprietary programs. The FSF does ask to get a 30 days' notice so they know and have a record of all code they distribute that a contributor also distributes under another license. You don't need to invoke this clause in order to distribute copies as free software under the GNU GPL, since everyone is allowed to do that of course. Cheers, Mark -- Escape the Java Trap with GNU Classpath! http://www.gnu.org/philosophy/java-trap.html Join the community at http://planet.classpath.org/ signature.asc Description: This is a digitally signed message part
Mauve test suite (Was: Changes to bootjvm 0.0.0 coming soon)
Hi Rodrigo, On Mon, 2005-10-17 at 15:40 -0700, Rodrigo Kumpera wrote: For the rest I strongly suggest using Mauve, it can test a lot of the classlib and would be nice to have only one FOSS testsuite for classlibs. Completely agreed. Mauve is a collaboration of several companies and organisations started by Cygnus, Transvirtual, Hewlett-Packard and the GNU project and is used by GNU Classpath, gcj, kaffe, ikvm, etc. Mauve has several modules for testing different parts of the compilers, runtimes and core library implementations. The main module has tests for the core library, there is a module jacks for compiler tests, there is a module verifier for byte code verifier tests, there is a visual tester for testing AWT implementations, a module for rmic tests and a serialization testsuite. http://sourceware.org/mauve/ Cheers, Mark -- Escape the Java Trap with GNU Classpath! http://www.gnu.org/philosophy/java-trap.html Join the community at http://planet.classpath.org/ signature.asc Description: This is a digitally signed message part
Re: Some questions about the architecture
On Thu, 2005-10-20 at 17:56 -0500, Archie Cobbs wrote: Off tanget, but IMHO this is not strictly true: it depends on whether VM native code relies on finalize() to free up its (non-heap) memory. Here's an exmaple of this: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4797189 That problem doesn't occur with GNU Classpath since our zip implementation is written in java itself. But we have a similar example in the mauve testsuite (one that I also observed while getting JBoss to work with GNU Classpath and JamVM). There is a test that opens lots of FileInputStreams and then expects the garbage collector to finalize these and free up the open file descriptors. gcj explicitly handles this by forcing a garbage collect and finalization pass when it cannot create a new file descriptor. We currently don't have any convention for marking VMObjects or finalizers as (scarce) holding native resources or make the native code signal the runtime to do a finalization of such objects. Cheers, Mark -- Escape the Java Trap with GNU Classpath! http://www.gnu.org/philosophy/java-trap.html Join the community at http://planet.classpath.org/ signature.asc Description: This is a digitally signed message part
Re: Some questions about the architecture
Hi Rodrigo, On Fri, 2005-10-21 at 18:07 -0200, Rodrigo Kumpera wrote: What happens when an exception is uncaught is, more or less, the following -The exception is passed to the thread's uncaughtExceptionHandler -The exception is passed to the ThreadGroup's uncaughtException method -The thread is terminated -If this was the last non-daemon thread, terminate the JVM. It's easy to have this stuff implemented in the class library, and not in the runtime, using Java a well smaller code. The class lib just make sure that no thread will ever have an uncaught exception of any possible kind. That's my point, at least. Correct. There is also the issue of Threads wanting to join() another Thread. All this can be handled by the core class library. See java/lang/VMThread.java in vm/reference for a default implementation that should work with most runtimes. Cheers, Mark -- Escape the Java Trap with GNU Classpath! http://www.gnu.org/philosophy/java-trap.html Join the community at http://planet.classpath.org/ signature.asc Description: This is a digitally signed message part
Re: Get involved on Harmony
Hi Geir, On Wed, 2005-10-26 at 05:09 -0400, Geir Magnusson Jr. wrote: we want to be able to use GNU Classpath right now because they are really so far advanced. Thanks. Everything you need should be described in the GNU Classpath Virtual Machine Integration Guide. http://www.gnu.org/software/classpath/docs/vmintegration.html Cheers, Mark -- Escape the Java Trap with GNU Classpath! http://www.gnu.org/philosophy/java-trap.html Join the community at http://planet.classpath.org/ signature.asc Description: This is a digitally signed message part
Re: Compilers and configuration tools
Hi Rivaaj, On Tue, 2005-10-25 at 17:07 +0200, Rivaaj Jumna wrote: This may be a bit off topic but what does a harmony developers desktop look like? My reason for asking is that I've been groomed on developing using an ide in the windows environemnt, Visual Studio 6.0 and the like. What sort of tools would one use on a Linux environment, eclipse cdt perhaps? I'm not afraid of command lines, :-) but they're a barrier to entry for someone like myself who would just like to explore the code base. To be honest most of us GNU/Linux hackers just use GNU Emacs as the true editor/ide/kitchen sink. But since we are now able to provide support for large applications like Eclipse some people have started to use that as dog food for hacking on GNU Classpath, Mauve and JamVM. Tom Tromey wrote a couple of guides of how to do that. eclipse, jamvm, and classpath http://lists.gnu.org/archive/html/classpath/2005-09/msg00073.html mauve testing with eclipse http://lists.gnu.org/archive/html/classpath/2005-09/msg00074.html Native eclipse now comes with several GNU/Linux distributions like Fedora, Ubuntu and Debian (unstable). Cheers, Mark -- Escape the Java Trap with GNU Classpath! http://www.gnu.org/philosophy/java-trap.html Join the community at http://planet.classpath.org/ signature.asc Description: This is a digitally signed message part
Re: [dev-process] Coding Style Guide
Hi David, On Fri, 2005-10-21 at 16:58 +0200, David Tanzer wrote: I'm not worried about Java code we write, because I assume everyone agrees to use the Java Coding Conventions from Sun [1] here. Much of the development in Harmony is done in C at the moment, and we need a coding style guide here too. I have never seen that coding convention. But for GNU Classpath we use a coding convention that mimics the standard (GNU) C and C++ coding convention as closely as possible. This has as advantage that code written in different programming languages looks similar across the projects. I would recommend that other projects adopt that since we have written so much code that conforms to this standard already. See http://www.gnu.org/software/classpath/docs/hacking.html#SEC8 I do note that coding conventions are something that lots of people have an opinion on. And in general they quickly turn into bike shed (*) discussions. So I would just state one convention and stick with it. Cheers, Mark (*) http://www.freebsd.org/doc/en_US.ISO8859-1/books/faq/misc.html#BIKESHED-PAINTING -- Escape the Java Trap with GNU Classpath! http://www.gnu.org/philosophy/java-trap.html Join the community at http://planet.classpath.org/ signature.asc Description: This is a digitally signed message part
Re: Get involved on Harmony
Hi João, On Fri, 2005-10-21 at 11:41 -0200, [EMAIL PROTECTED] wrote: My name is João, i work on AMS here on IBM Brasil and i have very much interest in work (developing) on your incubation project Harmony. I don´t know how i could do that, because i'm not a current ASF commiter - i don't have the commiter/member status. Please tell me what you think, and how i could get involved (if i could). Welcome. Harmony is a collaboration of lots of projects that want to see a Free Software alternative to the proprietary j2se. That means that there is lots to do. Here is a list of things/projects you can work on: - Core Class Libraries http://article.gmane.org/gmane.comp.java.classpath.devel/5522 http://developer.classpath.org/mediation/ClasspathFirstSteps - Compilers http://gcc.gnu.org/java/ http://gcc.gnu.org/wiki/GCJX - Runtimes: http://www.kaffe.org/ http://www.ikvm.net/ http://jamvm.sf.net/ http://jcvm.sf.net/ and lots more listed at: http://www.gnu.org/software/classpath/stories.html Dan is even writing a new one from scratch now. - javadoc replacement: gjdoc http://www.gnu.org/software/classpath/cp-tools/ - browser plug-in: gcjwebplugin and gcjappletviewer http://www.nongnu.org/gcjwebplugin/ - Test suite: http://www.sourceware.org/mauve/ And there are obvious other projects that I forgot that are interesting to work on to make harmony a reality. Please let us know what your interest is and we will find the project that you might like to hack on! Cheers, Mark -- Escape the Java Trap with GNU Classpath! http://www.gnu.org/philosophy/java-trap.html Join the community at http://planet.classpath.org/ signature.asc Description: This is a digitally signed message part
Re: Get involved on Harmony
Hi Graham, On Thu, 2005-10-27 at 10:03 +0100, Graham Smith wrote: I've been a Java developer (web applications mostly) for a longer than I care to think about while sober but wouldn't know C from Perl. This makes me think that, at present at least, I probably won't be able to have much input. AIUI though harmony will eventually write it's own core class libraries (java.util, java.sql, javax.swing, etc etc ) which is where I think I could be most productive. What I suppose I am trying to ask is what area(s) do you think I would be most useful working in? What I am hoping is that someone with a good understanding of the project will be able to point me in the direction of an overview or towards areas that best fit my current skills which will help get me started. I've not worked on a project this large before and it's quite daunting to be faced with the whole project all at once. OK, let me try to get you started. Since you know things about web applications you might want to help out testing large scale application servers. We got Jonas and JBoss working now. See the links on http://gnu.wildebeest.org/diary/index.php?p=126 But most of us are just low-level compiler/runtime/library hackers and don't really know how to properly test it all. So someone experienced with these kind of tools could find things that don't yet work as expected and work with the library/runtime hackers to figure out why. That would be excellent. For Jonas you will have to try out Fedora Core RawHide (ask [EMAIL PROTECTED]), JBoss isn't packaged yet, but should now kind of startup with jamvm (1.3.1) and GNU Classpath from CVS (we will make a new developer snapshot release next week), or you can try something smaller like Tomcat which has been packaged for both Fedora and Debian (ask debian-java@lists.debian.org) these days and should work with any GNU Classpath based runtime now. Another area where we are seeing a lot of progress these days is Free Swing. We have setup a page of Free Software applications that need to be tested against the latest runtimes. These http://developer.classpath.org/mediation/FreeSwingTestApps Setting up similar pages for other parts, like AWT, CORBA or beans applications would be super. Then we can regularly test them against kaffe, gcj/gij or another runtime like bootjvm when it starts working. Unit/regression tests are always welcome of course. So if you want do help out lower level then take a look at http://sourceware.org/mauve Although mauve has now more then 35.000 core library tests it certainly doesn't have full coverage for all of the core library. If you want to help out on the core libraries then take a look at the open tasks in the wiki: http://developer.classpath.org/mediation/ClasspathOpenTasks Please coordinate with the other developers on the classpath@gnu.org list if you want to pick up one of these things. In general the developer wiki has some nice information on what is being done around the core library implementation: http://developer.classpath.org/mediation/ Hope this gives some ideas where/how to start contributing. Cheers, Mark -- Escape the Java Trap with GNU Classpath! http://www.gnu.org/philosophy/java-trap.html Join the community at http://planet.classpath.org/ signature.asc Description: This is a digitally signed message part
Re: [BootJVM] configure
[EMAIL PROTECTED] wrote: Jean-Frederic, The _first_ thin to do is: $ svn update $ rm -rf ./config $ ./config.sh You will notice some changes, per harmony-commits@ list. The gmake complains about: DIRNAME:=$(shell expr $(PWD) : '\(.*[^/]\)/*$' : '.*/\(..*\)') After doing SVN update, removing the existing configuration and starting _completely_ over will show you where I have changed things. The other thing you could do would be, $ mv ./config ./config.save $ ./config.sh $ diff ./config.save ./config This would show you what changed in the SVN update in the results it produces. Dan Lydick -Original Message- From: Jean-frederic Clere [EMAIL PROTECTED] Sent: Oct 28, 2005 4:55 PM To: [EMAIL PROTECTED] [EMAIL PROTECTED] Subject: Re: [BootJVM] configure [EMAIL PROTECTED] wrote: Jean-Frederic, Take a look at the new Makefiles in the top level directory and each source directory. These should provide all functionality that I see for the time being with the exception of distribution rules, whose requirements may change over time. Notice that one important requirement is to be able to run the documentation compiler 'doxygen', which requires an explicit list of files. The current 'config.sh' provides these to both the Makefiles and Doxygen (via 'bootjvm.dox') as include files. +++ [EMAIL PROTECTED]:~/harmony/enhanced/trunk/sandbox/contribs/bootjvm/bootJVM make /bin/sh: -c: line 1: unexpected EOF while looking for matching `'' /bin/sh: -c: line 2: syntax error: unexpected end of file MakeSetup:98: config/config_build_steps.mak: No such file or directory Makefile:163: config/config_dox_setup.mak: No such file or directory make: *** No rule to make target `config/config_dox_setup.mak'. Stop. +++ Ok: I see that configure have to create config/config_build_steps.mak and config/config_dox_setup.mak /bin/sh: -c: line 1/2 strange. I'll take a look at your configuration proposal soon. Great- Dan Lydick -Original Message- From: Jean-frederic Clere [EMAIL PROTECTED] Sent: Oct 28, 2005 4:17 PM To: harmony-dev@incubator.apache.org Subject: Re: [BootJVM] configure Geir Magnusson Jr. wrote: If you wish to contribute this, could you post it to a JIRA? Until I get commit rights ;-) It is now: http://issues.apache.org/jira/browse/HARMONY-10 Now I go for the Makefiles or the build.xml. make is more strandard for C project but ant is probably before the harmony community. Any commit? Cheers Jean-Frederic ...snip... Dan Lydick