Re: Growing the Harmony community
Hi Tim, On Fri, 2006-01-13 at 10:38 +, Tim Ellison wrote: For Harmony to be successful we need to grow the active development community from where we are now. We should describe a set of near-term goals, to show people where we are going and where they can help. I think it would be great if you could better explain where in the ecosystem you fit in. There is a pretty nice document with a roadmap for where we as free software community are going and how we go about it http://developer.classpath.org/support/ how can harmony enhance that? I don't mean this note to sound negative; far from it, I want to share some of the enthusiasm and excitement for the project as widely as possible. Consider it a call to arms for everyone, and especially the existing committers (by which of course I include myself). To be honest a lot of my initial enthusiasm has gone away when I saw that as harmony founder my suggestions seem to be ignored. I do know how to grow a community and I would love harmony to be part of the growth. But it seems a lot of the suggestions we made have just been ignored. let me list them again so you can see what makes sense: - Try to enhance and work together with the existing projects whenever possible: http://www.gnu.org/software/classpath/stories/ there are active communities out there with a lot of diversity and knowledge. - To make sharing possible make sure you use a distribution policy that alligns with these projects. In particular most existing projects are GPL-compatible, make sure your contributions are also so they can be easily integrated. Use an exception like GNU Classpath as necessary if you want to use the Apache license but also like to integrate for example. - For supporting lots of platform and architectures (see the stories above) take a look at the VM integration guide and help improve that. If you get patches in that will help all the 30+ projects listed above. It is a nice setup that works for a lot of different platforms and architectures, even for things like static compilers, .net integration, etc. - There is a strong feeling that we should try and work together on a set of standard libraries with all the projects. In the past various projects had their own standard libraries, now almost everybody cooperates on the GNU Classpath set. Please join that effort. - There is a similar thing for creating a test suite that will help all projects collaborate on quality management, Mauve. Improving that helps the whole community, while having separate project specific test suites are much harder to share. A lot of the existing community and a lot of the Harmony founders (Dalibor, Tom, Jeroen, Geir, I and if he can make it Leo) will be at the GNU Classpath and friends meeting in Brussels next month. It would be cool if you could join that meeting because there are a lot of people there that would like to cooperate if you are serious about it. See http://www.gnu.org/software/classpath/events/fosdem06.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: Writing JavaDoc
Hi Loenko. On Fri, 2006-01-13 at 15:32 +0300, Loenko, Mikhail Y wrote: I think Classpath is a little bit different story. It is not a Java(tm) so a developer who writes for Classpath has to validate with Classpath docs whether his code is going to work. No, the goal is to be a free compatible replacement for the proprietary standard libraries. We just want to make sure we have great free documentation to go together with our free implementation. We are not marketing GNU Classpath as Java, because Java is a trademark and we don't want to promote it as something it is not (at the moment). Of course GNU Classpath is also just the standard libraries, not a whole runtime and development environment. But there are multiple projects creating a full suite (like gcc and kaffe for example, which include all the tools necessary). There is even an effort, Roxo, that has as objective use Kaffe+GNU Classpath as a basis to achieve TCK Compatibility, and as such, be recognizable as a full J2SE implementation. Which can then be probably be called Java (TM). 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: windoze download
On Fri, 2006-01-13 at 11:42 -0500, Geir Magnusson Jr wrote: Kaffe and GNU Classpath are out of scope here Wasn't the harmony project about bringing communities together? 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
ANN: GNU Classpath 0.20 released
, Completeness and Correctness checking. Various groups around GNU Classpath collaborate on the free software Mauve test suite which contains around 36.000 core library tests. Mauve has various modules for testing core class library implementations, byte code verifiers, source to byte code and native code compiler tests. Mauve also contains the Wonka visual test suite and the Jacks Compiler Killer Suite. See for more information: http://www.sourceware.org/mauve/ This release passes 35534 out of 36255 Mauve core library tests. Conformance reports for the included jaxp support can be found in the doc/README.jaxp file. GNU Classpath 0.20 can be downloaded from ftp://ftp.gnu.org/pub/gnu/classpath/ or one of the ftp.gnu.org mirrors http://www.gnu.org/order/ftp.html File: classpath-0.20.tar.gz MD5sum: 21e34b8e8acb4f7b31296bfaf4ad560a SHA1sum: c1a38c6c6b67d8c8092cc6af6d86d8c99dad272a File: classpath-0.20-generics.tar.gz (EXPERIMENTAL) MD5sum: db3c235b1ea497d7d2e5852f167d2b31 SHA1sum: 3d5f5cdd3dc51651f8b2c3765e30454931f45419 New in release 0.20 (Jan 13, 2006) (See the ChangeLog file for a full list of changes.) * New StAX pull parser and SAX-over-StAX driver. Lots of DOM, SAX/StAX, XPath and XSLT improvements. Support for XInclude and XML Base added. Conformance is now regularly tested against various test-suites at http://builder.classpath.org/xml/ See also doc/README.jaxp. * Full beans XMLEncoder implementation. * javax.sound.sampled implementation. * javax.print.attribute and javax.print.event implementated. * Lots of new datatransfer, print swing and swing.text work and optimization. * Additional 1.5 support. Including new (separate) generic branch release. * SecurityManager cleanups and start of review of all Permission checks (includes adding lots of new checks to the Mauve test-suite). * Buildable on cygwin. * Fully buildable as in-workspace library-plus-vm inside (native) Eclipse see http://developer.classpath.org/mediation/ClasspathHackingWithEclipse * Full example that shows a real world CORBA and Free Swing implementation. See examples/gnu/classpath/examples/CORBA/swing/README.html Runtime interface changes: * New method VMStackWalker.getClassLoader() was added to avoid an infinite loop between getCallingClassLoader() and Class.getClassLoader(). * The included fdlibm implementation has seen several cleanups to handle new architectures and namespacing issues (in particular for ppc, darwin and non-C99 compilers). Please double check any arithmetic test against new platforms/runtimes. * The gnu.java.net.Plain[Datagram]Socket implementations have been turned into VM reference classes with JNI/Posix implementations. New/Untested/Disabled Features: The following new features are included, but not ready for production yet. They are explicitly disabled and not supported. But if you want to help with the development of these new features we are interested in feedback. You will have to explicitly enable them to try them out (and they will most likely contain bugs). If you are interested in any of these then please join the mailing-list and follow development in CVS. * Cairo Gtk+ Graphics2D support, enabled by giving configure --enable-gtk-cairo. * QT4 AWT peers, enable by giving configure --enable-qt-peer. The following people helped with this release: Andreas Tobler Qt-4.1 support Andrew Haley Jar work and Jonas fixes Andrew John Hughes 1.5 generics language work Anthony Balkissoon Free Swing work Anthony Green Socket work Archie Cobbs New VMStackWalker work and JCVM integration Audrius Meskauskas Free CORBA work and various Free Swing fixes Bryce McKinlay Jar fixes Caolan McNamara Dom fixes and OpenOffice fixes Casey Marshall Crypto work Chris Burdess XML GNU JAXP work Christian Thalinger Various fixes, 64bit work and Cacao integration Dalibor Topic Build cleanups and Kaffe integration David Daney libgcj integration David Gilbert Free Swing work Freebeans Mysaifu Windows CE port and bug reports Fridjof Siebert Hashtable work Gary Benson Securitymanager and Permission work Guilhem Lavaux fdlibm cleanups, performance work and Kaffe integration Ingo Proetel Various fixes Ito Kazumitsu Regex, text and character conversion support Jan Roehrich Datatransfer work Jeroen Frijters SecurityManager, collections and IKVM integration Joao Victor Free Swing Timer work John Zigman SocketChannel testing Keith Seitz JDWP work Lillian Angel Free Swing work Mark Wielaard Bug fixes, packaging and release management Nicolas Geoffray 1.5 Class Instrumentation work Paul Jenner Installation and cygwin work Petteri Raty Configuration and Gentoo integration work Raif S. Naffah Security work and Eclipse integration Riccardo Mottola Powerpc work Robert Schuster XMLEncoder and beans work Roman Kennke Free Swing and AWT work, VM interface Roman Schnider AWT work Sven de Marothy Print and GTK+ work Thomas
ANN: gjdoc 0.7.7 released
We are pleased to announce gjdoc release 0.7.7. gjdoc is the GNU documentation generation framework for java source files. gjdoc is part of GNU Classpath Tools: http://www.gnu.org/software/classpath/cp-tools/ This is mostly a bug-fix release. This makes gjdoc much more robust when dealing with invalid documentation tags or source code and it is now possible to generate the whole javadocs for eclipse using gjdoc out of the box. New in release 0.7.7 * Bug fix release - gjdoc/24457: NPE for @see tag - gjdoc/24474: StackOverflowError in reflexive expressions - gjdoc/24501: gjdoc doesn't compile - gjdoc/24508: Files weren't generated for packages with names like *.java - gjdoc/24509: gjdoc is not able to use the javadocs from java.sun.com - gjdoc/24510: gjdoc have problems the -linkoffline - gjdoc/24507: The overview-summary.html are not generated - gjdoc/24553: Problem with @link tags in parameter descriptions - gjdoc/24722: Problems with single line comments between method arguments Thanks to Stephan Michels, David Gilbert, Julian Scheid and Michael Koch for reporting bugs, suggesting and testing fixes and preparing the release. The latest release of GNU gjdoc can always be found at ftp://ftp.gnu.org/gnu/classpath/ This new version of gjdoc has been used to generate class documentation for the GNU Classpath CVS source files: http://developer.classpath.org/doc/ -- 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
Some progress
After all that legal talk it is probably a good idea to point out some of the progress we have made with the various groups. The following is clearly a first draft so input is very welcome. I hope we can discuss this more and refine it during our Fosdem meeting in Brussels. Escaping the Java Trap A practical road map to the Free Software and Open Source alternatives http://developer.classpath.org/support/ Maybe it can be used to better define what Harmony means in the larger FLOSS ecosystem. 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: [Licensing/Community] Fresh start
Hi Davanum, On Mon, 2005-12-05 at 09:45 -0500, Davanum Srinivas wrote: Personally, i'd like to see progress on the VM Interface ASAP, that would go a long way to removing the mistrust. That would enable harmony VM to use unmodified classpath stuff as-is for development purposes and can act as a firewall till the licenses get sorted out. I am afraid this is ignoring part of the community trust issues and just hoping technology will solve it all. But sure, the current VM interface for GNU Classpath is described at: http://www.gnu.org/software/classpath/docs/vmintegration.html This is a living document and interface. We learn all the time about needs of different runtimes and execution engines. And new stuff gets added with each release of course. Just today a new section on the recently added instrumentation hooks was added (already in CVS, website will update in about 2 hours). See snippet from Leo's email: Mark told me someone tried something like that a year or two ago already. I forgot whom or what it was called, but I'd suggest trying to learn about it and if it failed, why. I believe that was after 2 beers :) And I don't know exactly which part of the conversation this was about. I know I said how interesting it was the Anthony Green came up with freevm.org and now Stefano Mazzocchi came up with openvm.org. Both wanting to bridge the gap and bringing it onto a higher level to be above all parties. In the end freevm.org both succeeded and failed. It failed because freevm.org is no longer, it succeeded because we decided we didn't need anything above GNU Classpath, gcj and Kaffe, but that we would just cooperate as is. If i see some componentization such that i can drop in say xalan/xerces and not use classpath's built-in stuff (this would end users can mix and match stuff to make their distribution) that would be even better. But VM Interface is priority #1. gcj for example has a switch/system-property -Dendorsed.dirs which allows for this. Cheers, Mark signature.asc Description: This is a digitally signed message part
Re: [Licensing/Community] Fresh start
Hi Tim, On Mon, 2005-12-05 at 16:12 +, Tim Ellison wrote: Mark: is there some concensus forming on componentization of the Classpath code that would allow defining whole functional units like this? The OSGi bundles model seems to tick a number of the boxes as a standardized method for specifying the inter-component dependencies, version control, etc. It has been discussed, but I don't believe there is any clear consensus on using it at the moment. See the following thread on the mailinglist: http://thread.gmane.org/gmane.comp.java.classpath.devel/6474 There is nobody working on that at the moment afaik. If it was done in a way that offered clear benefits for the current users then a patch to support it would of course be accepted. Maybe you can respond to that discussion and explain what the benefits are and how you would see it work in the context of classpath. 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
Testsuite (Was: Where to place the core classlib code?)
On Thu, 2005-12-01 at 16:38 +, Tim Ellison wrote: Unless/until someone shows up with a comprehensive test suite we have to start by writing tests for everything that gets patched. Take a look at http://www.sourceware.org/mauve/ Mauve is a collaboration of several companies and organizations started by Cygnus, Transvirtual, Hewlett-Packard and the GNU project and is used by GNU Classpath, gcj, kaffe, ikvm, cacao, etc. Mauve has several modules and tens of thousands of tests 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. 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: GNU Classpath hacker room at FOSDEM 2006
Hi Leo, On Wed, 2005-11-16 at 05:40 -0800, Leo Simons wrote: I don't recommend putting me near end users :-) :) Don't worry it is a developers conference. They will want to see code and if you show something that just works they will demand you explain how and why. For those who have not been to FOSDEM before it is a huge conference 2000 till 3000 people all around Free Software. We have just one developer room for around 75 people. It has traditionally been the yearly event were the core developers on the various Free Software implementations (classpath, kaffe, gcj, cacao, sablevm, etc) and related projects come together and discuss the future and cooperation. See http://www.gnu.org/software/classpath/events/events.html and http://www.fosdem.org/ 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: The Unofficial Harmony, Licensing, the Universe and everything FAQ
Hi, On Thu, 2005-11-17 at 14:50 -0800, Leo Simons wrote: That's interesting. I never thought of this. Given that GNU Classpath is able to modify the GPL with the exception, how about adding something that removes the can't work with Apache License problem? As a special exception, for Classpath we have decided to make all the problems described at http://www.apache.org/licenses/GPL-compatibility.html go away. And then in proper lawyer terms. Heh. Very interesting, very pragmatic! Mark, do you think there's any chance of making this happen? Yes. In fact we believe we did that with the Exception we have now. It was not just meant for helping out the Apache community reuse GNU Classpath as is, but also other communities. Given that we don't have bugs in the exception text of course. Patches welcome :) But as long as the Apache license doesn't have a similar kind of exception we are still stuck not being able to accept pure ASLv2 code since some communities that depend on us do have GPL-compatible requirements. We want to help out all these communities. 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: The Unofficial Harmony, Licensing, the Universe and everything FAQ
Hi Tim, On Fri, 2005-11-18 at 08:53 +, Tim Ellison wrote: ...and there are other bone fide open source projects that are important to Harmony under any number of licenses. Obvious examples being in the VM-space such as Kaffe (GPL) and Jikes (IBM public license). I believe we should play nicely with all of them. Right! That is also what made GNU Classpath big and strong. Be friends with everybody :) I fail to see how anything other than full license reciprocity will work in practice. Code that can only be passed in one 'direction' (Classpath - Harmony or Harmony - Classpath) will be forked as soon as the code is enhanced or patched by the recipient unless those contributions are also multi-licensed. At best it will be a book-keeping nightmare. I wouldn't be that afraid. Of course every user has the right to fork any code they want. But in practice you have lost when you exercise that right. Then you are on your own. It really only happens when either it is something you just have to do now and the code just isn't precisely perfect at this time. (You make a fork, make your own thing and then contribute that back so you can pick it up next time. This is how lots of Free Software works. Almost every distribution has their own small forks of packages, but normally those forks are just temporarily and things flow back.) Or it happens when communication has completely broken down. But then you want it to fork. No need to keep on the same code base and yell at each other all day. It sadly does happen of course. But in practice when you have a healthy community around your projects things always work out in the end. Nobody wants to fork, but everybody wants to have the right to fork just in case. In a way all these existing projects (classpath, kaffe, gcj, cacao, jamvm, ikvm, sablevm, etc) are just forks of each other (or mergers of other projects). And they do even compete! But when you have enough dedicated enthusiastic people and technical direction around a project forks and re-merges are just part of the development process. We are constantly seeing new forks popup and then later merge stuff back in. A healthy diverse ecosystem is the best cure for fork-angst. Bookkeeping is an issue. But it is an issue we are dealing with already anyway. In the end it is just another checkbox. It sounds to me like Leo, Cliff, et al have a good handle on the issues, and they are doing the right thing by working them out for the generic case. Yes, I am happy about that. I hope we can show that it can work in practice with harmony already. 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: GNU Classpath hacker room at FOSDEM 2006
Hi Geir, On Mon, 2005-11-14 at 22:50 -0500, Geir Magnusson Jr. wrote: I'll definitely be there - thanks for the note, Mark. That would be fun. Will you let us in the GNU Classpath hacker room though? :) Of course! As you might remember last year we had a special Building Bridges track were various people told about technical issues to get our communities closer together. Leo also gave a talk then: http://www.gnu.org/software/classpath/events/escape_fosdem05.html It would be a great idea to make the theme this year Harmony and explicitly ask every speaker to not just talk about their own project, but how it fits in with the other similar free software projects. We always emphasize the value of a fully free software stack from top to bottom so there should be enough integration points. If you come and want to discuss, present or demo something please let us know at [EMAIL PROTECTED] 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
GNU Classpath hacker room at FOSDEM 2006
Hi all, Like the last couple of years we want to come together with all the projects around GNU Classpath and the various free runtimes, compiler and tool projects to discuss what has happened in the last year in the Free Software community and what the next year will bring us during FOSDEM. The 6th edition of FOSDEM (Free and Opensource Software Developers' European Meeting) will take place on February 25+26 2006 in Brussels (Belgium), at the Solbosch Campus of the ULB (Free University of Brussels). FOSDEM is a free and non-commercial event for the community and organized by the community. See http://www.fosdem.org/ We were thinking of the following setup: - Saturday from 13:00 to 17:30 - End-User talks presentations to promote what we all build together to a wider audience that might have heard of what we do, but haven't actually seen it in action/put together. We might also want to have a lightning hour with lots of quick Demos of applications running on a completely free stack (5 - 10 minutes per demo). - Sunday from 09:00 to 12:30 - Developer talks presentations of things that are in progress and that people want to explain in more depth to get developers of the other projects to join in a share the fun. - Sunday from 13:00 to 17:30 - The Future hard core interactive technical hacker discussions on how to integrate the projects more and move forward in the next year. Arnaud Vandyck, Dalibor Topic, Mark Wielaard, Michael Koch and and Tom Tromey will be our program committee this year. If you would like to present something, have an idea for a demo or discussion topic please let us know at fosdem-at-developer.classpath.org Please mention the title, a little abstract, which track and whether you want to do a quick demo, a short 30 min talk or full hour talk (we prefer 30 minute talks to give everybody a chance to present something). Deadline for proposals is December 18, so you have a month to think of something cool. Then we make sure to have some kind of formal program at the start of January. Examples of presentations and reports from previous years: http://www.gnu.org/software/classpath/events/escape_fosdem05.html http://www.gnu.org/software/classpath/events/fosdem04.html Some ideas for interesting topics: - Free Swing - The Demo! - Your GNU/Linux distro and the free runtimes - package overview. - From 0 to 100 in 15 Minutes: Getting started with GNU Classpath development using Eclipse, JamVM, Mauve, and the ChangeLog plugin! - Integrating with Objectweb through native-(gcj)-JOnAS - Writing OpenOffice.org plugins using a free software stack. - Using GNU Classpath/gcj/kaffe for games - Using free runtimes on Wine and other win32 environments - Embedding GNU Classpath in web browsers and support for JNLP - Security Auditing! - 1.5 language support in GNU Classpath, gcjx and the free runtimes - GNU Classpath/OSGi/J2ME/Library splitting and trimming - Harmony through interfacing. - Beyond JAPI: what is needed to really finish GNU Classpath Or, Beyond Java -- what we can do when we finish 1.5. Or more generally some kind of presentation about development metrics: bug rates, rates of change in japi/lines of code/tests, email volume, stuff like that. - Debugging, JDWP development efforts. - etc. Hope to see you in Brussels on February 25 and 26 2006, Arnaud, Dalibor, Mark, Michael and Tom -- 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: The Unofficial Harmony, Licensing, the Universe and everything FAQ
Hi Leo, On Mon, 2005-11-14 at 02:35 -0800, Leo Simons wrote: There is one nitpick with the whole setup though. It really reads as if harmony is just an ordinary Apache project. You really should stop whistling that theme. There is nothing ordinary about Apache projects and there is no shame in being one. I have no idea what kind of *action* should be taken to reach out more or be open. Please stop saying be more open without explaining how. You are right. My expectations of Harmony seem to have been much too high. Ever since we started talking a year ago I wanted this cooperation to work out so much. And my last few emails to the list show my frustration that it hasn't worked out as I had hoped. Without giving clear guidelines as to what has to change. The truth is that I don't know how to make it happen. It has happened with gcj/kaffe/jamvm/ikvm/mono/classpath/cacao/etc in the past. There was a time these projects didn't really work together. They even were afraid of each other. Over the years this changed however. And now you will find a kaffe hacker promoting ikvm, or a gcj hacker showing how to deploy jamvm with eclipse, etc. And we all work together on the core class libraries (instead of having three competing projects!). How and why this worked out so nicely I cannot really explain. Maybe it just needs more time and trust. One thing that has helped us in the past is meering face-to-face and sharing our enthousiasm. It seems FOSDEM always brings us closer together. So I hope some of the hackers will show up and we can make a harmony miracle happen in Brussels. 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: compiling bootJVM with MSVC
Hi Geir, On Wed, 2005-11-09 at 10:30 -0500, Geir Magnusson Jr. wrote: Over time we would like to have more compromises of course. Just like we compromised with GNU Classpath and added an exception statement to the GPLv2. If we could get something similar for the ASL to make it compatible with the GPL for the harmony code covered by the ASLv2 that would be ideal imho. This is a long subject, maybe for another post. If you have time please do write such a post. I am really interested in what the issues and possible solutions are because I think solving this one issue might be one of the greatest achievements harmony could provide for us all. Thanks, 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: VM/Class Library Interface (or Storming the Gates! Take 3!)
Hi Geir, On Sat, 2005-11-05 at 11:56 +0100, Mark Wielaard wrote: On Fri, 2005-11-04 at 11:24 -0500, Geir Magnusson Jr. wrote: We have to address this. We started a while ago and it didn't go well Could you give a summary of the discussion and why you thought it didn't go well? We have people around here, lurking and active, that have done this in anger, so speak up... Did you study the VM Integration Guide: http://www.gnu.org/software/classpath/docs/vmintegration.html We have updated and clarified it and if you read the NEWS file we distribute with every release you will see updates and requests for feedback on various parts. See the latest release or: http://savannah.gnu.org/cgi-bin/viewcvs/classpath/classpath/NEWS?rev=HEAD (Look under the headings Runtime interface changes:) There are more then 20 different compiler/runtime/tools projects that use this for various different situations be it interpreter, jit, ahead of time compilers, real time, or byte code transformation frameworks. I am sure it can be refined and improved (since we do that for every release), but it should be very flexible already. Please give feedback. Please do try to answer these questions. It would be instructive if you could explain this in some detail since I am not sure we hit the right technical spot yet with respect to your suggestions for improvements to the model we are currently using. And you seem to have the feeling that take 1 and 2 didn't go well and I do like to know what I missed back then. Thanks, 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: Code contribution to harmony
Hi Tim, On Wed, 2005-11-09 at 16:56 +, Tim Ellison wrote: Mark Wielaard wrote: Right! I have been thinking on how to move forward with this. And I am excited to see some core class library code since that is where my expertise is. Obviously we should be able to extend this easily with parts of the GNU Classpath library like awt, beans, corba, crypto, swing, sql, most of javax, imageio, naming, etc and the 1.5 additions we have plus the generic classes from the classpath-generics branch. Great. That will be a good opportunity to work together on a class library componentization story too! I am glad you see opportunities here. Note that there have been people doing such a combination of the old OTI libraries with GNU Classpath already inside IBM. They even wrote a nice paper about it that might be worth a read: http://www.research.ibm.com/journal/sj/442/alpern.pdf I agree that getting a resolution to the community/licensing differences would be fantastic. I don't see that happening quickly, and I don't want to see the success or failure of a development project gated upon it. IMHO resolving license issues is a board-level objective, not a J2SE-project objective. We can hack code and live in hope :-) I believe people are really reluctant to hack on the code while there is a legal limbo whether it can be included into the other code bases out there and whether it is meant as a project to enhance all the existing projects or just another project on the side. So I see resolving this issues as a high priority. 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: Code contribution to harmony
Hi Geir, On Wed, 2005-11-09 at 11:27 -0500, Geir Magnusson Jr. wrote: On Nov 9, 2005, at 10:37 AM, Geir Magnusson Jr. wrote: On Nov 9, 2005, at 6:17 AM, Mark Wielaard wrote: Would IBM be willing to assign this code to the FSF for inclusion in GNU Classpath or contribute it under a GPL-compatible license like MIT/X, W3C, etc. so that it can be mixed and merged with the GNU Classpath core library and used in larger GPL-compatible works like gcj, kaffe, etc? Mark, speaking with my IBM hat on, I will say that as I promised yesterday to you, I'll certainly get a discussion started inside IBM, but can't answer this now. Also, please understand that sometimes things can move very slowly. I'd like to re-clarify my statement as I don't wish to create any false expectations or misinterpretations. What I was trying to say : I'm simply going to communicate this question inside IBM, and can promise no answer - we will go forward with what we have now under the terms we have now IBM's contribution was made only under the Apache License, and there are no plans for doing anything else with respect to a change or addition in licensing. OK, I can wait for a resolution. We have been going over this for the last 7 months, so I don't expect an immediate change. But it would be nice to finally move forward on this. I assume you did discuss this internally already since this has often been suggested on the list and you have said yourself that you encourage people to make their contributions (also) available under GPL-compatible terms. We should make it much more clear that this is an important project goal to make cooperation between all the different projects go smoother. 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: The Unofficial Harmony, Licensing, the Universe and everything FAQ
Hi Leo, On Wed, 2005-11-09 at 05:38 -0800, Leo Simons wrote: I keep getting lost in the licensing discussions. I *think* the below accurately represents where we are right now. Thanks for writing this down. I'll try to clarify some things below. There is one nitpick with the whole setup though. It really reads as if harmony is just an ordinary Apache project. While when we started it we want it to be something that is a much larger cooperative effort between various different individuals, organizations and projects with similar goals but completely different backgrounds. Presenting harmony as just an Apache project doesn't do justice to it. And I feel it will fail if we do that. There are a lot of people working on all the sister projects who we currently are not giving the feeling they are part of our harmony collaboration. This is not something specific to your email though. I often get the feeling that people on this list act as if Apache is the be all, end all for harmony and getting to a free software replacement for the proprietary non-free j2se implementations. And that does push away a lot of people who have been working on all this for years without any Apache involvement at all. I personally feel that way at times reading some of the discussions. Lets try to be a little more inclusive and get the support of those hundreds of people working already on the same goal, but who don't currently feel part of harmony. = The Unofficial Harmony, Licensing, the Universe and everything FAQ = Q: under what license is the harmony code? A: the Apache License, version 2.0. Parts of our code are licensed to the ASF under the terms of its Contributor License Agreement and/or its Corporate Contributor License Agreement, licenses which allow the ASF to sublicense those contributions to its users under the terms of the Apache License, version 2.0. Parts of our code may be licensed under terms which allow sublicensing of under the terms of the Apache License. Such licenses include the MIT/X License and the modified BSD license, and potentially others. Parts of our code may be dependent on binaries licensed under terms which allow sublicensing of those binaries under the Apache License and for which the source code of those binaries is licensed under an open source license. Such licenses include the MPL version 1.1, the CDDL version 1.0, and potentially others. Parts of our code may have optional dependencies on binaries or source code licensed under other terms. For example, the Microsoft Windows version of harmony obviously depends on the availability of Microsoft Windows, which, the last time we checked, was not available under an open source license. You can use these individual parts seperately under whatever terms apply to them. We are making an effort to track the licenses that apply to all significant individual parts of our code. s/seperately/separately/g And add: We do ask that all contributions are also available under terms that allow integration into larger works distributed under other Free Software licenses such as the (L)GPL to make sure the contribution can be shared by the whole community. Q: does or will harmony depend on code licensed under the LGPL? A: Maybe. The ASF is working on a specific policy for allowing ASF projects to have optional dependencies on binaries licensed under the LGPL. If there is a timetable for this effort then it would be good to mention this. I understood it will be discussed during the next ApacheCon. Q: does or will harmony code depend on GNU Classpath? A: Maybe. Once the ASF and FSF legal teams settle the LGPL stuff described above, hopefully more attention will turn to answering whether we can / want to depend on Classpath (from the legal perspective). (GNU Classpath is licensed under the GPL but has a special exception: http://www.gnu.org/software/classpath/license.html ) which may or may not turn out to be acceptable. Even if the exception is not suitable in its current form the ASF will try to work with the FSF and the GNU Classpath developers to figure out some kind of workable arrangement. Right, I think it is good to emphasize that part. Also again it would be good to have a timetable associated with this. I know the ASF board has been asked to review and give specific feedback on this, but I haven't heard anything on the progress. Q: does or will harmony code depend on external component X? A: Quite often! For example, we're certainly not writing a C compiler or an implementation of make. Similarly, there's open source versions of a variety of tools that are part of the standard java tool suite already out there (like implementations of 'javadoc' or 'jar' or 'keytool'). There is a list of such tools in one of my previous emails. Might be good to reference or include them
Re: VM/Class Library Interface (or Storming the Gates! Take 3!)
Hi Tim, On Wed, 2005-11-09 at 14:14 +, Tim Ellison wrote: Mark Wielaard wrote: On Mon, 2005-11-07 at 17:03 -0500, Graeme Johnson wrote: Split-class (ClassX VMClassX) or customized-class solutions (Tim E's Kernel classes) are different approaches to solving the same problem. Not completely. I think they complement each other. The ClassX VMClassX split describes at a high (java) level what the responsibilities of an runtime/execution-model are. Then the VMClasses are more like the customized-class solutions in case you have a traditional execution-model that is based on JNI/Posix like platforms. I'm assuming that ClassX and VMClassX are quite closely coupled, so that other types in the package don't make internal API calls on VMClassX directly? If that is true it's also worth pointing out that the (ClassX + VMClassX) combination will simply look like a kernel version of ClassX to the rest of the classlibrary code -- it's a pretty minor difference at that level. Right. It might be instructive to participate in the discussion started this week about the newly proposed network VM interface classes suggested by Ingo and Roman on the classpath-patches mailinglist. http://lists.gnu.org/mailman/listinfo/classpath-patches (Subject RFC: new VM interface for Socket impls) To give you a quickstart let me explain the design criteria. The VM interface class has to be high-level enough to be usable/optimizable for a runtime that doesn't use C/Posix/JNI (as preferred platform/runtime interface). GCJ for example uses CNI which provides a ABI bridge between c++ and java classes (which has a completely different performance trade-off then JNI. Class field accesses are cheap with CNI since they are just direct references, while in JNI they are expensive). IKVM.NET for example would wrap the System.Net.Sockets classes to implement the above VM interface. Besides that there has to be at least one concrete vm/reference implementation based on C/Posix/JNI (which is hopefully properly autoconfed to make it portable across most modern GNU/Unix-like platforms). This reference implementation should in principle work out of the box for runtimes implementing JNI and that don't want to make any specific platform/runtime optimizations. Of the two approaches I believe that the customized-class solution delivers simpler code and shorter call-paths as it avoids the need for any runtime redirection. That can be an issue indeed. But by marking the VMClasses package private and final (or just have list in the jit/compiler) all calls to them should be able to be optimized away if needed. Agreed. What you are pointing out is that the JIT will roll the code defined in two classes into the moral-equivalent of one class anyway ;-) Most JITs will do the method inlining out of the box, and the same thing could happen for storage too if the VM/JIT is aware of the pattern -- the VM/JIT could allocate storage for the common code and delegate contiguously; and make that assumption. Without such an awareness you would require two objects, with a read-barrier to access the delegate, and may suffer from data locality probs if they end up miles apart. Yes, but note that not all free runtimes/compilers do this class/vmclass inlining yet (gcj for example doesn't do it and the various interpreters also don't do it). And except in some contrived micro-benchmarks it doesn't even seem to show up in the profiling data. So it is an optimization to keep in mind because it could impact performance, but it isn't the first optimization you need to implement to get good performance in most real world applications (except probably for Object/VMObject and Class/VMClass but those are often handled specially inside the runtime/execution mechanism anyway). 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: [Devjam] Re: ANN: gjdoc 0.7.6 released
Hi, On Thu, 2005-11-10 at 10:13 +0100, Petter Reinholdtsen wrote: And it is using a lot of memory when building documentation. It would be nice if it could be modified to use less memory during build. I hope this can be improved before v1.0 is released. I had to find a machine with more memory when I build the latest classpath for upload into debian, because gjdoc used 250 MiB of memory on my 256 MiB RAM laptop. :/ Agreed that lower memory usage is always a good thing. But Julian did a great job reducing it already. And to put things a bit in perspective classpath is not your average project. It has more then 4000 .java files, totaling almost 1.000.000 lines, 150+ packages and the simple class hierarchy tree page listing all classes relations and interfaces (http://developer.classpath.org/doc/tree.html) is already 1MB. gjdoc also generates cross references for all fields and methods it finds, which are a really huge number for the core libraries. (Julian, maybe gjdoc can print some statistics about packages, classes, methods and fields indexed after a run.) All this doesn't mean I wouldn't be excited if someone could look at the data-structures used and see if they can trim some fat! :) Also note that some runtimes use much more memory then others. For generating the classpath documentation with gjdoc I really recommend the natively compiled gcj version because that is by far the lightest on resource usage (not to mention the fastest). Cheers, Mark signature.asc Description: This is a digitally signed message part
Re: [Devjam] Re: ANN: gjdoc 0.7.6 released
Hi, [Oops, resent, made a mistake in trimming to the mailinglists as Petter suggested (misspelled the devjam mailinglist name). My apologies.] On Thu, 2005-11-10 at 10:13 +0100, Petter Reinholdtsen wrote: And it is using a lot of memory when building documentation. It would be nice if it could be modified to use less memory during build. I hope this can be improved before v1.0 is released. I had to find a machine with more memory when I build the latest classpath for upload into debian, because gjdoc used 250 MiB of memory on my 256 MiB RAM laptop. :/ Agreed that lower memory usage is always a good thing. But Julian did a great job reducing it already. And to put things a bit in perspective classpath is not your average project. It has more then 4000 .java files, totaling almost 1.000.000 lines, 150+ packages and the simple class hierarchy tree page listing all classes relations and interfaces (http://developer.classpath.org/doc/tree.html) is already 1MB. gjdoc also generates cross references for all fields and methods it finds, which are a really huge number for the core libraries. (Julian, maybe gjdoc can print some statistics about packages, classes, methods and fields indexed after a run.) All this doesn't mean I wouldn't be excited if someone could look at the data-structures used and see if they can trim some fat! :) Also note that some runtimes use much more memory then others. For generating the classpath documentation with gjdoc I really recommend the natively compiled gcj version because that is by far the lightest on resource usage (not to mention the fastest). Cheers, Mark signature.asc Description: This is a digitally signed message part
Re: compiling bootJVM with MSVC
Hi Geir, On Mon, 2005-11-07 at 06:44 -0500, Geir Magnusson Jr. wrote: On Nov 7, 2005, at 5:40 AM, Mark Wielaard wrote: On Sun, 2005-11-06 at 08:44 -0500, Geir Magnusson Jr. wrote: Lets not count our chickens here. The LGPL policy is still in the works, and may not allow anything but limited-time optional dependencies, and no re-distrubution of LGPL-ed artifacts. But that is all we need for now don't we? No, because we want to be able to distribute complete tested implementations of J2SE, right? :) It is a start don't you agree? And one that would help us forward now. In the end we want to combine all the projects to make up a complete free J2SE replacement. That will indeed take more work and cooperation. But this seems like a nice start. Of course we should lobby for more freedom. I won't take that bait :0 I am not sure I am following you. If it is the word freedom, then replace it with flexibility. What we want if that the board allows us to combine and distribute the various projects. The above is a good first step since lots of people want to use and depend on LGPL-covered works. Over time we would like to have more compromises of course. Just like we compromised with GNU Classpath and added an exception statement to the GPLv2. If we could get something similar for the ASL to make it compatible with the GPL for the harmony code covered by the ASLv2 that would be ideal imho. But the main thing is to make sure there are no roadblocks for collaboration between the different free sofware projects. Indeed! That's why I'm so certain that interoperability of modules and componentization will be so beneficial for us. Sure, but then we must be sure that we can combine these modules and components into a larger work in a way that makes both the GNU and Apache communities happy. If the board really refuses to allow us to distributed a fully integrated system containing all parts we can always put the whole collection up somewhere else. But we will cross that bridge when we get there. Lets first put together the whole system. Someone can always take the various works and post somewhere else, but we'll distribute what we test, and we won't be able to use Apache TCKs to test something we're not distributing from here. Then lets make sure we can all distribute it from here. But also think carefully whether we are a development group or a distributor. Most GNU/Linux distributions are much better at shipping stuff then we development communities. 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: VM/Class Library Interface (or Storming the Gates! Take 3!)
Hi Graeme, On Mon, 2005-11-07 at 17:03 -0500, Graeme Johnson wrote: Split-class (ClassX VMClassX) or customized-class solutions (Tim E's Kernel classes) are different approaches to solving the same problem. Not completely. I think they complement each other. The ClassX VMClassX split describes at a high (java) level what the responsibilities of an runtime/execution-model are. Then the VMClasses are more like the customized-class solutions in case you have a traditional execution-model that is based on JNI/Posix like platforms. Of the two approaches I believe that the customized-class solution delivers simpler code and shorter call-paths as it avoids the need for any runtime redirection. That can be an issue indeed. But by marking the VMClasses package private and final (or just have list in the jit/compiler) all calls to them should be able to be optimized away if needed. In either case I think we want to determine how to build customized versions of a reference implementation without resorting to cut'n'paste duplication. IMO making the build process responsible for creating customized versions of VM-dependent classes from a master version puts the complexity in the right place (build-time vs runtime). Yes, that is mostly how it works with GNU Classpath based runtimes. At build time each runtime overrides/changes the few VMClasses for which it cannot use the vm/reference version. This seems to work nicely and makes it possible to share almost all of the glibj.zip classes as is. 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: Code contribution to harmony
Hi, On Tue, 2005-11-08 at 16:13 +, Stefano Mazzocchi wrote: Tim Ellison wrote: I'm delighted to be able to make a code contribution to the Harmony project on behalf of IBM. Let's the harmonization process begin :-) Right! I have been thinking on how to move forward with this. And I am excited to see some core class library code since that is where my expertise is. Obviously we should be able to extend this easily with parts of the GNU Classpath library like awt, beans, corba, crypto, swing, sql, most of javax, imageio, naming, etc and the 1.5 additions we have plus the generic classes from the classpath-generics branch. At the same time we can merge the kernel classes to get the best of both implementations. But it seems we still have the original roadblock to harmony cooperation, the incompatible licenses. Since this contribution is marked as ASLv2 which is incompatible with GPLv2 so we won't be able to share this easily. So lets try to get that away now. Would IBM be willing to assign this code to the FSF for inclusion in GNU Classpath or contribute it under a GPL-compatible license like MIT/X, W3C, etc. so that it can be mixed and merged with the GNU Classpath core library and used in larger GPL-compatible works like gcj, kaffe, etc? That would be really fun. I remember when I joined the GNU Classpath group and we merged the libgcj and classpath code bases. That was really a good way to lift up both projects since you can compare ideas and code to create something that is bigger then the original things. And you will always learn things from trying to merge two similar but slightly different code bases. I am looking forward to going through each of the core packages to see which implementation is best if we can get the this license issue out of the way. 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: half-baked idea? j2me
Hi David, On Tue, 2005-11-01 at 10:12 +0100, David N. Welton wrote: The first thing you'd probably want to do in any case is an emulator... although this already exists and is quite nice: http://www.barteo.net/microemulator/ As you might have seen on http://planet.classpath.org/ this emulator is now working with the different GNU Classpath based runtimes: http://www.spindazzle.org/green/index.php?p=67 It looks pretty. And to confirm that we are serious about making sure our solution will be as modular as possible there has now been an offer from a university to explore the possibilities of a micro edition of GNU Classpath plus the Cacao vm for which they want to sponsor some student work. See the recent J2ME classes in GNU classpath thread on the mailinglist: http://lists.gnu.org/archive/html/classpath/2005-11/ 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: [modularity] OSGi or ? (was Re: half-baked idea? j2me)
Hi Geir, On Thu, 2005-11-03 at 10:54 -0500, Geir Magnusson Jr. wrote: On Nov 3, 2005, at 10:30 AM, Mark Wielaard wrote: This is one of the hot topic on the GNU Classpath mailinglist. How do we define bundles so people can more easily mix and match precisely those core library parts they want. See the discussions on http://lists.gnu.org/archive/html/classpath/ if you are not yet subscribed. Maybe we could use something like OSGi bundles for this. But the core libraries are pretty interwoven so there is a lot of dicsussion what the right approach is. What other approaches have you been considering? Basically what people do now is solve it for their own platform separately. You can see examples of that for gcj which is of course ported to losts of different (small) devices. Best is to follow the discussion on the mailinglist, the last thread about this was stated by Peter Kriens (Using OSG for Classpath): http://lists.gnu.org/mailman/listinfo/classpath 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: half-baked idea? j2me
Hi Craig, On Thu, 2005-11-03 at 09:06 -0800, Craig Blake wrote: In the course of various jobs I've had to look at lots of chunks of the Sun library sources and VM code. I was under the impression that this would be a problem? Yes, studying proprietary source could while working for a similar Free Software project could be troublesome. But it depends of course on the situation. See for more background the GNU Classpath wiki: http://developer.classpath.org/mediation/ClasspathFirstSteps It also contains lots of suggestions for tasks and projects that would be super useful and are fine to work on in any case, such as: * write Mauve test cases * write example applications demonstrating the usage of the API * writing/fixing helper programs (like japitools) and scripts * report bugs * help fixing the documentation * help in other Java-related Free software projects (e.g. virtual machine development, Eclipse, GUMP, etc.) Hope that helps. 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: Implementation comparisons
Hi George, On Thu, 2005-11-03 at 15:41 -0600, Archie Cobbs wrote: George Harley1 wrote: I would like to ask for some opinions on measuring how correct a new implementation of a J2SE class is. Consider if someone develops a clean Very good question and one that is asked (and sometimes answered) in various forms all the time on the Classpath mailing list. The approach there has been pragmatic.. basically the comparision is of course always versus what the JDK does. If the spec says nothing but JDK behaves like X, then Classpath typically behaves like X, etc. If the spec says X and the JDK does Y, then Classpath usually does X. The harder cases are when the JDK behavior and spec disagree, or the JDK has a bug but applications rely on that buggy behavior, etc. These are taken case by case. Yes, and you should always work from real books and not just the javadoc that IBM and Sun publish publicly describing the core library. Unfortunately those descriptions are not really concise and clear enough to be used as spec. Luckily there are several in depth books about various parts of the core library. O'Reilly and Addison Wesley publish some very good titles. Since real programmers use these books and the examples they give they are often a more solid base to work from. And it involves Testing, Testing and Testing! In the end it matters what real world applications do and need. So before all you should test against applications (preferably Free Software applications that you can study the source code of). Then whenever you find the documentation unclear or when writing new code you should write a Mauve unit test to make sure any corner cases are handled correctly and no regressions in behavior are introduced in the future. And of course whenever you find a real application that depends on a particular way the core library works and you decide to change the behavior of the library you have to clearly document that and again write a Mauve unittest. 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: compiling bootJVM with MSVC
Hi Matt, On Fri, 2005-11-04 at 06:57 -0800, Matt Benson wrote: Shouldn't more care to be taken RE pointing people to LGPL resources on this list as the compatibility issues between the LGPL and Apache licenses are AFAIK still unresolved? There is no problem combining ASL and LGPL into a larger work (as long as the distribution requirements of both parts are respected of course). But currently the official apache rules still don't allow for it. But we are working on changing that because so many apache projects want to depend on LGPL projects like Hibernate, FreeChart, OpenOffice.org document filters, etc. And the legal committee has a proposal to make it happen that will hopefully be ratified by the Apache board during the next ApacheCon. We are working under the assumption that all legal problems will be cleared up in time. (L)GPL and ASL compatibility being top priority of course :) Cheers, Mark signature.asc Description: This is a digitally signed message part
Re: Implementation comparisons
Hi, On Sat, 2005-11-05 at 11:25 +0100, Mark Wielaard wrote: Hi George, And it involves Testing, Testing and Testing! Since I think this is very important I should probably add that lots of applications these days come with unit tests themselves. We are trying to run lots of autobuilders to catch any unexpected failures. See http://lists.gnu.org/mailman/listinfo/classpath-testresults Especially larger applications such as Eclipse or JOnAS give important clues. http://people.redhat.com/overholt/eclipse/eclipse-tests/ and http://people.redhat.com/~aph/current-jonas-on-gcj-conformance-test-results.html Another nice framework is GUMP which can now be run against kaffe and makes sure a whole bunch of apache programs build and pass their test suites against the free compilers, runtimes and tools. http://gump.zones.apache.org/gump/kaffe/ It often seems we are chasing numbers and GNU Classpath snapshot releases often have humorous names like 95% and counting because people love tracking numbers about api coverage. But in reality it is all about compatibility with real world applications! 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
ANN: GNU Classpath 95% and counting 0.19 released
. * The Swing layout manager OverlayLayout has been implemented, the BoxLayout has been rewritten to make use of the SizeRequirements utility class and caching for more efficient layout. * Improved accessibility support for Swing. * The java.net.HttpURLConnection implementation no longer buffers the entire response body in memory. This means that response bodies larger than available memory can now be handled. * The Andrew Watson, Vice President and Technical Director of the Object Management Group, has officially assigned us 20 bit Vendor Minor Code Id: 0x47430 (GC) that will mark remote Classpath - specific system exceptions. Obtaining the VMCID means that GNU Classpath now is a recogniseable type of node in a highly interoperable CORBA world. * Classpath now includes the first working draft to support the RMI over IIOP protocol. The current implementation is capable for remote invocations, transferring various Serializables and Externalizables via RMI-IIOP protocol. It can flatten graphs and, at least for the simple cases, is interoperable with Sun's jdk 1.5. * Qt4 configury switches for OS-X. Additional to the --enable-qt-peer, OS-X users with a Qt4 installation can build the qt-peers with the argument --with-qt4dir=Qt4-installation-dir. * Significant progress has been made in the implementation of the javax.swing.plaf.metal.* package, with most UI delegates in a working state now. Please test this with your own applications and provide feedback that will help us to improve this package. * The GUI demo (gnu.classpath.examples.swing.Demo) has been extended to highlight various features in our free-swing implementation. And includes a look and feel switcher (Metal default, Ocean or GNU). Runtime interface changes: * Changed implementation of VMClassLoader.getPackage(s) : new method VMClassLoader.getBootPackages should be implemented by the vm, and sould return a string array of boot package names (java.lang, java.net, ...). Feedback from vm implementors for usability and relevance of the getBootPackages method would be greatly appreciated. New Untested/Disabled Features: The following new features are included, but not ready for production yet. They are explicitly disabled and not supported. But if you want to help with the development of these new features we are interested in feedback. You will have to explicitly enable them to try them out (and they will most likely contain bugs). If you are interested in any of these then please join the mailing-list and follow development in CVS. * Cairo Gtk+ Graphics2D support, enabled by giving configure --enable-gtk-cairo. * QT4 AWT peers, enable by giving configure --enable-qt-peer. The following people helped with this release: Andreas Tobler Qt4 support for Darwin/OSX, Graphics2D support, gtk+ updates. Andrew Haley Serialization and URLClassLoader fixes. Andrew John Hughes Serialization fixes, Properties XML support and generic branch work. Anthony Balkissoon Lots of Free Swing additions. Anthony Green MIDI framework, ALSA and DSSI providers. Audrius Meskauskas Lots of new CORBA and RMI work and bugfixes. Casey Marshall Crypto algorithm fixes. Chris Burdess StAX and dom xml:id support. Christian Thalinger Configuration and VM inteface fixes and CACAO integration. Dalibor Topic Build cleanups and Kaffe integration. David Daney HttpURLConnection rewrite and improvements. David Gilbert Lots of Free Swing and metal theme additions. David Lichteblau JCL support library global/local reference cleanups. Gael Thomas VMClassLoader boot packages support sugestions. Guilhem Lavaux Configuration, thread and channel fixes and Kaffe integration. Jan Roehrich BasicTreeUI fixes. Jeroen Frijters Serialization fixes, better Proxy support, bug fixes and IKVM integration. Julian Scheid Documentation updates and gjdoc support. Keith Seitz JDWP support. Lillian Angel Lots of Free Swing additions. Mark Wielaard Bug fixes, packaging and release management Martin Cordova Suggestions for better SocketTimeoutException. Michael Koch Configuration fixes. Nicolas Geoffray VMClassLoader and AccessController improvements. Paul Jenner Better -Werror support. Robert Schuster XML and URL, AWT and Free Swing bug fixes Roman Kennke Lots of Free Swing additions. Santiago Gala AccessControlContext fixes. Stuart Ballard RMI constant fixes. Sven de Marothy BMP imageio support, CSS and TextLayout fixes. Thomas Fitzsimmons Lots of imageio framework additions, lots of AWT and Free Swing bug fixes. Tom Tromey Eclipse integration, generics work, lots of bug fixes and gcj integration. We would also like to thank the numerous bug reporters and testers! -- 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: half-baked idea? j2me
Hi, On Mon, 2005-10-31 at 18:30 -0500, Geir Magnusson Jr. wrote: What we want to do here is a modular system to which you can easily replace parts as appropriate for your usage, either to port to a new platform or usage/performance profile I think that you'll be fairly satisfied with what we come up with. Agreed. If you see what is possible now with for example jamvm and different profiles/chunks of the core library from GNU Classpath you can see that you can get as small or large as you want: http://www.aqute.biz/2005/10/osgi-on-slug.html http://planetmarrs.xs4all.nl/site/index.php?option=com_contenttask=viewid=14Itemid=1 This is one of the hot topic on the GNU Classpath mailinglist. How do we define bundles so people can more easily mix and match precisely those core library parts they want. See the discussions on http://lists.gnu.org/archive/html/classpath/ if you are not yet subscribed. Maybe we could use something like OSGi bundles for this. But the core libraries are pretty interwoven so there is a lot of dicsussion what the right approach is. Cheers, Mark signature.asc Description: This is a digitally signed message part
Re: Get involved on Harmony
Hi, On Mon, 2005-10-31 at 18:49 -0500, Geir Magnusson Jr. wrote: 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. And this is only going to get worse. What we're seeing is the tiny, pointy little tip of the iceberg :) People are going to pine for the days when things were so quiet and simple. :) I have trouble keeping up already! We seem to be making enormous progress the last couple of months. Take a look at the toolsuite - see what catches your interest. Good point! That was what I had forgotten in my previous email. Here is the list of tools projects that I am aware of: - compiler: Several candidates. - jikes http://www.jikes.org/ Fast an pretty compliant source to byte code compiler written in C++. Ideal for bootstrapping a system quickly. - ecj http://www.eclipse.org/ The compiler of the Eclipse project. Written in java. Some people are surprised that this compiler can be used stand alone. But it actually is the default compiler on Fedora Core systems now. (Compiled with gcj no native code to make it as fast, if not faster then jikes). Already supports most of the 1.5 language constructs. - gcj(x) http://gcc.gnu.org/java/ and http://gcc.gnu.org/wiki/GCJX This is not just a source to byte code compiler, but also a gcc frontend so that it can produce native code. gcjx, the next generation gcj, will also be able to generate jni and cni header files from source. And will support the new 1.5 language constructs. (Tom Tromey, who is on this list is the main developer, so I will let him hype it some more.) - javadoc replacement. - gjdoc http://www.gnu.org/software/classpath/cp-tools/ This is the GNU documentation generation framework for java source files. It should be command line compatible with javadoc and comes with a full Taglet and Doclet interface. We use it to generate the documentation on http://developer.classpath.org/doc/ (Julian Scheid does most of the work on this these days.) There is also texidoclet A doclet for converting comments into GNU TexInfo source. - browser plug-in. - gcjwebplugin and gcjappletviewer http://www.nongnu.org/gcjwebplugin/ Despite the name it isn't gcj specific. I have been told the name actually stands for Groovy Cool Jive. It works nicely with mozilla. It does depend on the GNU EmbeddedWindow awt extensions that GNU Classpath provides. (Michael Koch and Thomas Fitzsimmons work on this. Sven de Marothy is writing Qt-AWT-peers to make embedding into konqueror on the KDE platform nicer.) - jar replacement. - fastjar as shipped with gcc. - kaffe jar. Both seem pretty complete. What seems to be missing is a good testsuite for all the corner cases. - javah replacement. - gcjh as shipped with gcc. Written in C which makes bootstrapping easier in some cases. - kaffeh as shipped with kaffe. There were recently lots of bug fixes here. Written in java. - javah as shipped with GNU Classpath Tools, written in java. - gcjx (as mentioned above) will be able to generate jni and cni headers from java source files. Written in C++. - native2ascii replacement. - Kaffe, GNU Classpath Tools and gcc have this. All written in java. The one that comes with gcc is called jv-convert. - javap replacement. - GNU Classpath Tools comes with a javap implementation in java. - GCC comes with jcf-dump written in C, which is a bit more powerful then the one in GNU Classpath Tools and is a really nice tool when bootstrapping stuff. - serialver replacement. - GNU Classpath Tools comes with a very simple one written in java. - rmic and rmiregistry - GNU Classpath Tools comes with grmic and grmiregistry. (These were recently rewritten by Archit Shah) Both are also shipped with gcc and kaffe. - keytool - GNU Crypto contains an implementation by Casey Marshall. GNU Classpath Tools also contains all kinds of utilities needed for implemention the stuff above or the core libraries themselves that might be interesting. See http://www.gnu.org/software/classpath/cp-tools/ Hope there is something in that list you would 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: [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: [project policy] Author credit and attribution
Hi, If you are looking for some guidelines for working together on code and how to keep track of who wrote what when then I would recommend starting out with our GNU Classpath Hacker Guide. Specifically chapter 7. Working on the code, Working with others. It explains that the main rule is to always explain and discuss everything on the patches mailinglists. No commit is made before it has been posted first. http://www.gnu.org/software/classpath/docs/hacking.html#SEC8 Just following that main rule makes sure that everybody knows what and why things happen. Next there are all kinds of practical guidelines such as maintaining a clear and concise ChangeLog for every commit. Splitting commits for unrelated code changes, or changes to code and changes to formatting, etc for clarity. And when to ask for permission to commit a change. Also important is to always use the same code style guide (see chapter 6) so that the code looks like it is part of a whole. There is currently no strict rule about author tags. Some people add them some don't. This isn't really a problem. The ChangeLog file documents in very precise detail who really wrote what (and of course CVS has a similar record if you happen to be online). And there is a AUTHORS file listing all active hackers and a THANKS file for documenting who else helped out with bug reports, hints or moral support. Also the release announcements always include a full list of all contributors and a summary of their contributions. Currently there are about 80 committers creating around 15 patches a day. And the Hacker Guide really helps to keep some structure to the project without being so strict that it makes contributing difficult. Cheers, Mark signature.asc Description: This is a digitally signed message part
DevJam reports
Hi all, The GNU Classpath distro DevJam was a great success. It seems we brought some harmony into the hearts and minds of the different distributions (Ubuntu, SkoleLinux, Debian, Fedora, Suse, Gentoo, OpenEmbedded) that participated. And being able to talk and debug some issues with several of the upstream projects involved (GNU Classpath, kaffe, gcj, Cacao) was definitely inspirational and productive. Here is a list of other summaries and notes of the meeting: - SkoleLinux summaries and pictures: http://skolelinux.de/wiki/FreeJava/Meeting050923 - OpenEmbedded ARM TODO list: http://www.informatik.uni-bremen.de/cgi-bin/cgiwrap/rwagner/pyblosxom.cgi/computers/freejava/gcj-on-arm.html - GCJ maintainer/Fedora impressions by Andrew Haley: http://www.advogato.org/person/aph/diary.html?start=0 - Gentoo DevJam braindump by Petteri Räty (plus presentation) http://article.gmane.org/gmane.linux.gentoo.java/598 http://dev.gentoo.org/~betelgeuse/show.pdf - DevJam Arrival and Schedule/Discussion notes: http://gnu.wildebeest.org/diary/index.php?p=116 - Debian Project leader notes: http://necrotic.deadbeast.net/~branden/blog/exuberance/Debian/destination_oldenburg.html - LWN article about the meeting that is currently being published for subscribers (please support LWN it is a great magazine): http://lwn.net/Articles/153450/ Next week it will be free for all. (Please send me, or the devjam mailing-list, updates and additions.) On request of several of the participants I have setup a mailing-list so people can keep in touch and coordinate cross-distro/packaging/project things. If you are interested please send an email to [EMAIL PROTECTED] The mailing-list has a public archive accessible through: http://developer.classpath.org/mailman/listinfo/devjam And if you are interested in participating or helping out with a followup meeting please see the wiki about DevJam++: http://java.debian.net/index.php/DevJam++ 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: Classpath .18
Hi, On Wed, 2005-09-07 at 13:45 -0700, Dalibor Topic wrote: On Wed, Sep 07, 2005 at 10:26:55PM +0200, Mail Delivery Subsystem wrote: David Tanzer wrote: I think it would be good to make two different series -- This week on harmony-dev as it is and something like This week in related projects with summaries of the development in the sister projects. We could post both article series here and at my homepage (and of course on other mailing lists who are interested too). And on planet.classpath.org, of course. ;) Good idea. David agreed so This week... is aggregated on planet.classpath.org now. I hope Planet Classpath will show how large and diverse the community already is and bring a personal touch to our daily technical struggles. Cheers, Mark signature.asc Description: This is a digitally signed message part
Re: Classpath .18 release
Hi Robert, On Wed, 2005-09-07 at 13:19 +0100, Robert Lougher wrote: It's odd you never mentioned JamVM's status in the list. Sorry, certainly not deliberate. I do use jamvm all the time. And I was pretty excited about the progress that Andreas made with jamvm on darwin: http://gnu.wildebeest.org/diary/index.php?p=111 http://article.gmane.org/gmane.comp.java.classpath.devel/6121 Lets see it this way: all the other projects are playing catch up, while jamvm just works :) Cheers, Mark signature.asc Description: This is a digitally signed message part
Re: a harmonious and inclusive community
On Sat, 2005-07-23 at 12:17 -0700, Martin Olsson wrote: Mark Wielaard wrote: Almost every existing project has a problem with the Apache License just because it isn't compatible with the GPL. This is infuriating (to both sides!). I just joined the list so maybe I missed something, but could you clarify what you mean here? No. :) ASLv2/GPLv2 are incompatible. It sucks. Kick the ASF/FSF legal committee members to make progress to work that out. Seriously, the whole point of that post was to get going and assume the license problems will be worked out. We want a solution for the short term for this project and I have brought a vote to that effect: http://mail-archives.apache.org/mod_mbox/incubator-harmony-dev/200507.mbox/[EMAIL PROTECTED] When that or something similar is accepted we can assume things are OK for harmony. Then there are some people who have some creative legal hacks to hopefully get the ASL GPL compatible and that will be it. Please, please, please concentrate on the technical issues raised. Investigate all the technical proposals, the work done by all the groups that want to cooperate on this. Try Hello, World!, Eclipse, Jonas, look at the gump results of kaffe, read the interface designs posted, play with the tools available and read some of the archives. Give some technical feedback based on that. The political/license issues will get worked out. People are really motivated to get that done. Cheers, Mark signature.asc Description: This is a digitally signed message part
Re: Class library componentization
Hi, On Fri, 2005-07-22 at 15:24 +0500, usman bashir wrote: I have question to mark! which is missing in ClassPath, just an bird eye answer :) Quick answer. Really busy at the moment. I wanted to thank Tim for pushing for a harmonious and inclusive community and just pointing out concrete goals and tasks to do. To repay him I wanted to take some time to really answer his emails. I'll make some time for that tonight. But if you want a quick bird eye view look at the japitools (great tool btw!) results that Jeroen just posted for IKVM (based on GNU Classpath) http://www.frijters.net/JDK-1.4-vs-IKVM-0.18.0.0.html (As you can see that is for 1.4 though). I believe kaffe.org has some 1.5 comparisons. Cheers, Mark signature.asc Description: This is a digitally signed message part
Re: [legal] Mailing list policy
Hi, On Thu, 2005-07-21 at 05:52 -0400, Geir Magnusson Jr. wrote: What do you have to negotiate? We want to define an interface for the VM and Class library that is 100% usable by anyone and everyone. I always imagined that we'd define the interface, and then each do an independent implementation. This is probably where we just don't agree on how to do a design, interface and framework on the VM/Platform-level. At this low level you cannot just define some interface. It isn't about defining something that makes programming against nice and beautiful for the programmer (although that is certainly a big plus!). It is about making minimal assumptions and showing actual implementations are possible without too high performance impacts. All problems can be solved by an extra interface indirection, but at a certain point each extra indirection costs you and you don't want to introduce them if not absolutely needed. So you need to design against actual implementations. Besides that we do have interfaces already for lots of components, class libraries, runtimes, platforms for the 20 or so runtimes, compilers and tools around GNU Classpath. It isn't a really compelling story for me to go back to these people and show them the new interfaces they will have to implement. And then tell them they cannot use any of the actual code from the harmony project since almost all of them are incompatible with the default license they use. I want them to participate in this design process and pick up the bits and pieces we create to show they actually are sane and can be used before we cast some magical interface into stone. Cheers, Mark signature.asc Description: This is a digitally signed message part
Re: Eclipse part 2
Hi, On Fri, 2005-07-22 at 11:44 +0100, Tim Ellison wrote: There are two distinct groups within IBM doing class library work -- hey, it's a big place! One group provides a robust J2SE based on the Sun libraries for many IBM products/platforms [1]. The other group has no access to Sun code and provides a (similarly robust g) smaller set of IBM-authored libraries for embedded product offerings [2]. You seem to forget group 3 (wow, IBM is big!) that produced JikesRVM and that actually switched from those robust IBM-authored libraries to GNU Classpath double g! :) IBM research published an interesting paper about this that is worth a read. The Jikes Research Virtual Machine project: Buliding an open-source research community B. Alpern, S. Augart, S.M. Blackburn, M. Butrico, A. Cocchi, P Cheng, J. Dolby, S. Fink, D. Grove, M. Hind, K.S. McKinley, M. Mergen, J.E.B. Moss, T. Ngo, V. Sarkar, and M. Trapp. IBM Systems Journal, Vol 44, No 2, 2005. http://www.research.ibm.com/journal/sj/442/alpern.pdf Cheers, Mark signature.asc Description: This is a digitally signed message part
Re: Class library componentization
Hi, On Fri, 2005-07-22 at 17:01 +0500, usman bashir wrote: i am looking over this and really appreciate a quick response. and one thing i want to add up, i would really like to see improvements in Javax.sound packages Sorry, it is getting late already. I wanted to go over the whole list that Tim posted, but I need some sleep first. But I can point you to http://tritonus.org/ a version (the non-generics branch) is also shipped with kaffe. Cheers, Mark signature.asc Description: This is a digitally signed message part
Re: GNU Classpath 0.16 Harmony! released
Hi, On Mon, 2005-07-11 at 08:40 -0400, Geir Magnusson Jr. wrote: Now, if someone had some code that ran on solaris that we could start working with... hmm ;) gcj, kaffe and GNU Classpath should work on that platform. Kaffe has testers for some very interesting platforms and has been widely ported. The new Gump setup might actually be running kaffe on Solaris now. Cheers, Mark signature.asc Description: This is a digitally signed message part
RE: Minutes of First Harmony Meeting
Hi, On Wed, 2005-07-06 at 13:30 -0700, Baker, Tony wrote: Uh... Weldon Washburn, individual contributor, just tipped his hand. As an individual contributor, why would you need permission? I thought it was general knowledge what the background of most of the harmony founders was. If you haven't seen it check out: http://www.weiqigao.com/blog/2005/05/07/re_who_are_these_people_was_re_open_source_jvm_proposal_on_the_table_at_apache_software_foundation.html In general every contributor should make sure their employer agrees with their work. Especially when they could have a claim on any work someone wants to contribute. Both the FSF and ASF have company disclaimers to make sure there is no confusion and surprizes for the contributors and the projects. Cheers, Mark signature.asc Description: This is a digitally signed message part
Re: [legal] Mailing list policy
Hi, On Fri, 2005-07-15 at 11:03 +1000, Peter Donald wrote: For Harmony we can lead by example. We are starting here with a clean slate. Lets not by default adopt a policy that would prevent adoption of the code by most of the existing projects. I started this effort together with the others to build bridges between the existing projects. That is a long process with many steps. Lets not make the mistake to close the bridge as the first step by adopting a default license policy that prevents cooperation with the existing free software projects. I don't disagree with what you are saying but I am not sure there is any need for action at this time. Geir has said that there are people who are trying to work out the license issues between ASL/GPL code at the moment. (I assume people inside Apache foundation and FSF). I think it may be a good idea to assume that this will eventually work out and people who want to use ASL code in GPL-ed works are able to. If this is wrong feel free to speak up. Until such a time where these talks break down or fail I think it may be more productive to steer away from more license discussions. What do you think? Yes, I would like to steer away from more license discussions. But I would like to do it by adopting a default policy that we can all live with now and not postpone things till some future time. I like to act now and not have to negotiate on every code/discussion on the license so we can try out and play with it in any of the existing efforts. The Harmony project actually started from some of use being sick of the constant back and forth between ASF and FSF on details of licensing. Not that we think that these issues aren't important, or that we don't want to see them solved. Far from it. But we wanted to do something together now. That is why I don't really understand why some people are still advocating a default license policy that prevents us from easily and effectively work together. I see the Apache/LGPL issue is on the board schedule for this month. http://mail-archives.apache.org/mod_mbox/www-legal-discuss/200507.mbox/% [EMAIL PROTECTED] Hopefully that will indeed be the start of resolving all these license incompatibility-silliness. Cheers, Mark signature.asc Description: This is a digitally signed message part
Re: [arch] VM/Classlibrary Interface (take 2)
Hi Geir, On Tue, 2005-07-19 at 12:32 -0400, Geir Magnusson Jr. wrote: If there are non-trivial pieces of code, they can be posted here if or should be submitted into a JIRA, choosing to contribute under the apache license, and then post a message here. On Mon, 2005-07-18 at 19:40 +0200, [EMAIL PROTECTED] wrote: The reason nobody answered this question is because we are still debating how to accept code that is both GPLv2 and ASLv2 compatible. As long as that isn't worked out the best thing to do with such code is to post them on some website with a simple MIT/X disclaimer at the top and post on the mailinglist at which URL people can check it out. (And having a individual/company assignment/disclaimer on file with either the FSF or ASF is recommended.) We seem to be giving mixed signals here. Can we try to coordinate a bit more on the policies we want to have for this project? Even if we cannot agree on some things it would be good to setup some resolution mechanism. Thanks, Mark signature.asc Description: This is a digitally signed message part
Re: [arch] VM/Classlibrary Interface (take 2)
Hi, On Tue, 2005-07-19 at 12:38 -0400, Geir Magnusson Jr. wrote: The reason nobody answered this question is because we are still debating how to accept code that is both GPLv2 and ASLv2 compatible. I'm not sure that's the issue exactly - I think it's about dual licensing. No it is not. That would create all kinds of trouble for us to track who contributed what under which terms. This really is just about coming up with a simple default contribution policy that is acceptable to all. As Leo explained so graphically people don't want lists of options or difficult decision diagrams. We want to provide a simple contribution policy that gets us in a situation that all contributed code is ASLv2 and GPLv2 compatible by default. Then there is no confusion or need to track things (except of course the FSF/ASF individual/company contribution/disclaimer paperwork). We could do that by asking every contribution to be dual licensed GPL/ASL, but that might be too confusing to some. So I propose we just pick MIT/X for now and be done with it. (Or any other option I mentioned in a couple of mails if you really don't like MIT/X.) Cheers, Mark signature.asc Description: This is a digitally signed message part
GNU Classpatchy 0.17 released
We are pleased to announce a new developer snapshot of GNU Classpath. GNU Classpath, essential libraries for java, is a project to create free core class libraries for use with runtimes, compilers and tools for the java programming language. The GNU Classpath developer snapshot releases are not directly aimed at the end user but are meant to be integrated into larger development platforms. For example the GCC (gcj) and Kaffe projects will use the developer snapshots as a base for future versions. This is mainly a bug fix release for issues found with eclipse 3.1 and Free Swing applications just after our 0.16 release. But it also includes some exciting new features. Some highlights of changes in this release (more extensive list below): XML DOM, XPATH and XSL fixes. Free Swing is much more responsive. JInternalFram, JTree, JMenu, JTable, JButton and JFileChooser fixes. FileChannel lock and force implementations added. The logging FileHandler now rotates files. Clean locking and namespace for gtkpeer library. System call interrupts and timeouts are now handled correctly for net and nio. Corba bug fixes. Lots of documentation updates. The VM Integration Guide now comes with a full section on the VM/Classpath hooks. GNU Classpath Examples now includes a Tree World demo. 21 people actively contributed code to this release and made 171 CVS commits during the two weeks of development. diffstat since 0.16: 3638 files changed, 25798 insertions(+), 15596 deletions(-) More details about the various changes and contributions below. This release passes 29508 out of 30320 Mauve core library tests. Conformance reports for the included jaxp support can be found in the doc/README.jaxp file. GNU Classpath 0.17 can be downloaded from ftp://ftp.gnu.org/pub/gnu/classpath/ or one of the ftp.gnu.org mirrors http://www.gnu.org/order/ftp.html File: classpath-0.17.tar.gz MD5sum: eb620987422878e05ea889d5e7496c63 SHA1sum: 3b47cb37c91803fbc9d0426d97e1faa6a993615a The GNU Classpath developers site http://developer.classpath.org/ provides detailed information on how to start with helping the GNU Classpath project and gives an overview of the core class library packages currently provided. For each snapshot release generated documentation is provided through the GNU Classpath Tools gjdoc project. A documentation generation framework for java source files used by the GNU project. Full documentation on the currently implementated packages and classes can be found at: http://developer.classpath.org/doc/ New in release 0.17 (Jul 15, 2005) (See the ChangeLog file for a full list of changes.) * gnu.xml fix for dom nodes created outside a namespace context. * Add support for output indenting and cdata-section-elements output instruction in xml.transform. * xml.xpath corrections for cases where elements/attributes might have been created in non-namespace-aware mode. Corrections to handling of XSL variables and minor conformance updates. * DefaultMutableTreeNode preorder, postorder, depthFirst and breadthFirst traversal enumerations implemented. * JInternalFrame colors and titlebar draw properly. * JTree is working up to par (icons, selection and keyboard traversal). * JMenus were made more compatible in visual and programmatic behavior. * JTable changeSelection and multiple selections implemented. * JButton and JToggleButton change states work properly now. * JFileChooser fixes. * revalidate and repaint fixes which make Free Swing much more responsive. * Correctly handle system call interrupts and timeouts in native nio and net functions. * MetalIconFactory implemented. * Handle image loading errors correctly for gdkpixbuf and MediaTracker. * Added Tree World to GNU Classpath examples Free Swing demo. * FileChannel.lock() and FileChannel.force() implemented. * java.util.logging.FileHandler now rotates files. * Better handle GDK lock. Properly prefix gtkpeer native functions (cp_gtk). * Corba bug fixes and documentation updates. * Updated gcj build infrastructure. * Documentation fixes all over the place. See http://developer.classpath.org/doc/ * VM Integration Guide updates with a full section on VM/Classpath hooks. The following people helped with this release: Aaron Luchko (JDWP updates and documentation fixes) Andrew John Hughes (VMIntegration guide update) Anthony Balkissoon (Lots of Free Swing updates) Archie Cobbs (build and URLClassLoader updates) Audrius Meskauskas (Corba and text and html parser fixes) Casey Marshall (FileChannel lock, SystemLogger and FileHandler rotate impl.) Chris Burdess (Lots of gnu.xml and http protocol fixes) Dalibor Topic (Better DEBUG support) Daniel Bonniot (Serialization fixes) David Gilbert (Lots of documentation and MetalIconFactory implementation) Guilhem Lavaux (Logger bug fixes) Jeroen Frijters (Serialization fixes) Lillian Angel (Lots of Free Swing updates) Mark Wielaard (System call interrupts, timeouts and packaging) Robert Schuster (TreeNode enumerations
Re: [legal] Mailing list policy
Hi, On Wed, 2005-07-13 at 21:50 +0200, Leo Simons wrote: NOT A CONTRIBUTION* LIKEWISE. Mark Wielaard wrote: Just one little nitpick. Heh. Could we not use the Apache License, Version 2.0. But state something like are in the public domain. (Or use APL/GPL-dual license, LGPL, MIT/X, modern-BSD, etc.) So that we can all use such contributions. Most of the existing projects, like gcj, kaffe, cacao, jamvm, GNU Classpath, etc. cannot accept GPL-incompatible code. As the world currently spins, people that contribute to Apache do that with the common understanding that they're contributing stuff under the Apache License (makes some kind of sense doesn't it? :-)). As one of the founders I was under the impression that Harmony is about cooperation and building bridges first, and that we host the project currently at Apache is just a happy coincidence. Apache is a nice environment and infrastructure to have around a project. And it certainly is of great marketing value. But half of the people that signed the Harmony proposal don't have an Apache background. We all joined because we wanted something that is more that just another Apache project. We wanted to see GNU Classpath, gcj, kaffe, ikvm.net and all the other free software projects to unite and work together with the rest of the community, whether FSF, ASF, independent or corporate. I like the simplicity and I think we need that kind of simplicity. That is why I proposed to explicitly state that public communication is in the public domain. I don't want to think about the implications of something being submitted through e-mail having a different legal status than something submitted through an issue tracker or through SVN (and, heck, that stuff is submitted as e-mails automatically!) Agreed. And Geir also stated that submissions to the mailinglist should never be checked into a code base without all the necessary paperwork in place. While I understand your rationale and goal, for the reason above I think such a move is a bad idea unless we actually dual-license all of Harmony and *all* contributions are under those terms. I'm not saying that's necessarily a bad idea (I'll be firmly keeping my non-existent opinion to myself on that topic, thank you very much! :-)), but it would certainly constitute, an, ehm, change. But change is what Harmony is all about! We are all changing because we are now cooperating. So yes, my suggestion is that we make the rule for Harmony to only have code contributions that are both GPL and APL compatible. Whether we do that for now by explictly stating that all public works are in the public domain, by dual licensing APL/GPL, using a modified GPL-exception (like we do for GNU Classpath) or an APL with a Free Software friendly patent retaliation exception (or just strike the second half of clause 3), or use the license of Intel ORP or IKVM.NET as compromise is just an implementation detail. (Both of these last two licenses attached. I prefer the ikvm one.) Just show that we are serious about cooperation by being clear about it upfront. So that everybody can feel free to contribute to the mailinglist of the code in the knowledge that it will be reusable by all the projects out there and all the projects that want to cooperate on this. * wonder how soon this becomes /really/ annoying ;) I guess we can keep this up for months. Just hack your mail client to have a TOP sig :) 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/ Intel License Agreement For Open Runtime Platform (ORP) Copyright (C) 2000, Intel Corporation, all rights reserved. Third party copyrights are property of their respective owners. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. The name of Intel Corporation may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS AS IS AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
Re: GNU Classpath 0.16 Harmony! released
Hi, On Wed, 2005-07-06 at 21:40 +0530, Akhilesh Shirbhate wrote: $ svn checkout https://svn.apache.org/repos/asf/incubator/harmony I downloaded only to find that there is no code in the repository and there are only 54 files, most of which are site files in ./harmony/standard/site/ Where can I get the codebase from ? Thanks in advance. You got all of it. Apache Harmony is BUG FREE! :) Currently we are just looking around at the different code bases out there and deciding which architectures are good enough to adopt for harmonization. Take a look at some of the code bases under discussion: - https://savannah.gnu.org/projects/classpath/ (libraries) - http://jamvm.sf.net/ (runtime) - http://gcc.gnu.org/java/ (compiler, runtime, tools) - http://kaffe.org/ (runtime, tools) - http://jikesrvm.sourceforge.net/download/index.shtml (runtime + MMTk memory manager) Pick and choose your solution and then tell us which combination you think will be the killer harmony! Cheers, Mark signature.asc Description: This is a digitally signed message part
Re: GNU Classpath 0.16 Harmony! released
Hi, On Tue, 2005-07-05 at 08:51 -0400, Davanum Srinivas wrote: IMHO the major issue is to put all the requirements for the classpath on the paper, and then to see if the GNU classpath is usable, and if not, can it be adopted to fulfill all the requirements. Patience my friend. It's happening. But slowly :) And if you want to make it happen faster please review the GNU Classpath VM Integration Guide: http://www.gnu.org/software/classpath/docs/vmintegration.html Andrew Hughes just made a big update to it that you can find at: http://lists.gnu.org/archive/html/classpath/2005-06/msg00104.html Cheers, Mark signature.asc Description: This is a digitally signed message part
Re: Minutes of First Harmony Meeting
Hi, On Mon, 2005-07-04 at 22:17 -0700, Weldon Washburn wrote: Also, the following mail archive says that Apache has issues with CPL code: http://mail-archives.apache.org/mod_mbox/www-legal-discuss/200503.mbox/[EMAIL PROTECTED] Does MMTK exist under any other license? That seems to be similar to how we (FSF/GNU) look at the CPL. It is a free software license. But since it is incompatible with the GPL (has different requirements on distribution) we are happy to use it for standalone use in applications, but we won't use such code bases for creating larger derivative works. (Note that gcj use the Boehm-Demers-Weiser garbage collector, kaffe has its own, but can also use boehm and jamvm has its own memory manager.) Cheers, Mark signature.asc Description: This is a digitally signed message part
Re: GNU Classpath 0.16 Harmony! released
On Fri, 2005-07-01 at 18:40 +0200, Mladen Turk wrote: Garrett Rooney wrote: Anything else is just another GNU release. I fail to see how comments like this are helpful to anyone. It's not a hostile, not at all, but the GNU guys after all those months flerting with Harmony didn't give any firm licence standpoint. So AFAICT, the Harmony is GNU licenced. So, any GNU classpath is *GNU* classpath and has nothing to do with Harmony, unleass harmony leaves the ASF and joins GNU. Nothing hostile in that. Right. I see you are eager to get to work and just solve things. That is good. And that is really what the GNU Classpath hackers also want. That is why we are working so hard on the new releases, because we want to see them adopted. And we want to hear from the larger harmony community what is important for them, what works, what doesn't work, etc. We have been working on GNU Classpath for a decade and our harmony cooperation is really just only going on for a couple of weeks. Things do take time. One of the things that take time is building up trust. We would like to see the FSF and ASF, GNU and Apache projects work more closely together. But comments like yours don't give the impression that is really what everybody wants. Lets see if I can show you the thinking on our side to get us closer to each other. the valuable news would be: GNU Classpath 0.16 Harmony! released under ASF licence! So, why didn't we do that? GNU Classpath is the base for a lot of projects released under the GPL that integrate the core libraries (gcj, kaffe, kissme, jamvm, etc.). And the ASF license isn't GPL compatible. So that adopting it is not practical. Also we value copyleft (even if it is a very weak compromise for GNU Classpath) and we would like to use a license that is similar to the one used for the other runtime libraries of the GNU Compiler Collection (GNU Classpath is the base of libgcj, which is part of GCC). Using the ASL means the license is completely different and we fear that is confusing. And although the ASL has some patent-retaliation triggers, that we actually like, it doesn't have any copyleft features. So we have to make another compromise. We are working on a couple of 'legal' issues. First we will publish a reworded clarified GPL+exception text to show the compromises we are willing to make for GNU Classpath. There have been complaints that the current wording is unclear. So we will solve that. (This is waiting for one final OK, so I hope this will happen this week.) Second we are working with some FSF/ASF people on solving the bigger issues, not directly related to GNU Classpath. For GNU Classpath and the Harmony project we can change the licenses to get more collaboration with other groups. But for the larger body of code under the ASL and (L)GPL we cannot do that. And we would love to mix-and-match code from different code bases Apache and GNU into larger works based on a combination of both. So we now have a clarified description and explanation of the LGPL obligations from the FSF that hopefully makes it finally possible to use LGPL code bases in Apache projects. This is still waiting for confirmation from the Apache board though. And we are working on a way to word the patent-retaliation clause in the Apache license to make it compatible with the GPL. It is clear what the wording should be, but it isn't clear whether that will be possible. And lastly there are some discussions on GPLv3 and compatibility with other free software licenses. This last item is long term though, and might not be that interesting for Harmony if we are thinking weeks/months, not years. All these discussion do take time. And clearly on all sides people are a bit nervous about going all the way and fully embrace the other side. And most hackers actually like working on code and leave politics to others. (Whoever those others are.) But I hope that when we hackers show that we really want all these issues cleared and that we really want to have Harmony, that the various software foundation boards will have to come to an agreement. So please check out the code we have. And see what you like. If you haven't seen it look at these Eclipse and JOnAS packages for Fedora and notice how many Apache stuff is already in there! http://gnu.wildebeest.org/diary/index.php?p=97 I'll try to be a bit more active on this list to show that we GNU Classpath hackers do want to join the fun. But I must admit that I am more a hacker that just wants to hack on code and produce cool new GNU Classpath releases to get more free software working then a talker and politician. Please don't interpret any silence from my side as disinterest. I might just be coding to get harmony done faster :) 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: Apache Harmony / GNU Classpath
Hi, On Thu, 2005-05-12 at 15:10 +0100, Ben Laurie wrote: Davanum Srinivas wrote: Ben, There a few folks who think otherwise w.r.t to the Exception being non-viral. This email was to get an official response from FSF in that regard. True enough, though I don't think we've had a legal opinion either way. Just to be clear. What are we exactly asking from whom? Is there a specific question for the FSF about the current exception statement that is not clear? Or are why trying to draft a resolution for the Apache board to accept the use of GNU Classpath as library under the current GPL + exception statement? The idea behind the exception statement we use for GNU Classpath is that it can be used freely by other projects as is including Apache projects. It would help if there was a specific point or question FSF legal could respond to or clarify. Thanks, Mark signature.asc Description: This is a digitally signed message part
Re: Harmony: project purpose
Hi (moved to harmonay list since it is just a list of teechnical points), On Fri, 2005-05-06 at 23:02 -0400, Geir Magnusson Jr. wrote: On May 6, 2005, at 10:54 PM, Simon Kitching wrote: Without that, only general design principles can be shared between Harmony and these projects, which really isn't of much use in the Classpath case as the classes must adhere to the Sun TCK which must be pretty detailed on library class behaviour. Except that it's my understanding that the GNU family of projects (Kaffe, GNU Classpath, GCJ, etc) all want to use GNU Classpath, and are working out how to make it pluggable and modular. We need the same thing (would be great to have a VM that we could plug a different classlibrary into to get J2ME, for example), so why not work together? Then when we get past the license problem, we can intermix. Yes. And I urge everybody to take a look at the current projects around GNU Classpath and how they integrated different parts: http://www.gnu.org/software/classpath/stories.html When Geir proposed the Harmony project to me and asked if I was interested in helping out defining bridges I send the following referrences that I think will benefit the project: GNU Classpath VM Integration Guide http://www.gnu.org/software/classpath/docs/vmintegration.html Hacking on the VM Interface workshop slides http://klomp.org/mark/classpath/slides/gnu_classpath_workshop.html Both are a bot out of date, it would be good to update them again. Currently the vm/reference source code in a recent GNU Classpath release tarbal should give you a better impression. There is of course the binary compatibility ABI for GCJ: ftp://gcc.gnu.org/pub/gcc/summit/2004/GCJ%20New%20ABI.pdf I don't know if there are documents on the shared bytecode verifier ideas that some people talked about. The verifier exists in pluggable form on the gcjx branch of the GCC cvs repository. Both gcj and kaffe now (can) use the boehmgc. Mauve http://sources.redhat.com/mauve/ contains tests for the various parts (language, core-libraries, jit, visual AWT tester, BC). JikesRVM comes with a JNI testframework. The CNI used to bind classes/methods written in c++ and java in gcj is described at: http://gcc.gnu.org/onlinedocs/gcj/About-CNI.html There have been talks about sharing parts of the JDWP and JVMTI layers/interfaces. Most of the wire-protocol at least can be shared. I have some designs for that, but I forgot who is working on this for gcj. GNU Classpath Tools provides some tools (like gjdoc) that runtimes can share http://www.gnu.org/software/classpath/cp-tools/ 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: Harmony: project purpose
On Sat, 2005-05-07 at 08:19 -0400, Sam Ruby wrote: Mark Wielaard wrote: I'll make sure I talk to one of the FSF legal people again to make sure there is progress in these discussions. Some people are setting up a new teleconference between the ASF and FSF to talk about these issues more directly. The lengthy set of teleconferences we have been having have been somewhat... inconclusive. Agreed. I think we at least know now what the issues (social/legal) are with the ASL/GPL incompatability are. There were some proposed textual changes that should make them compatible. It probably is time to call in the laywers (general counsel) of both sides, put them in the same room and hammer out a final text. But for the LGPL list of issues that the Apache hackers had in response to http://www.gnu.org/licenses/lgpl-java.html we might need some more discussion. This is still a lot of room for optimism. Concrete questions to help focus the discussion: * Can ClassPath use APR? We have a reference implementation of some of the platform/runtime/compiler specific parts of the core library that works with C, JNI on GNU/Posix like systems (for io, nio, timezones, etc.) This can be replaced with a version that uses APR if there is a technical need. Kaffe for example replaces part of this layer with a KNI implementation. IKVM.NET replaces it with a system that uses the standard C# libraries as much as possible. And GCJ replaces parts of it with a C++/CNI implementation. See the links to various documentation about this VM Interface layer posted earlier. Or look into vm/reference in a recent GNU Classpath release. We will most likely not replace the current reference implementation with one that is based on APR since that is currently licensed under the ASL and we want GNU Classpath to be GPL-compatible for projects that use and distribute it under the GPL. But if the ASL could be changed to become GPL-compatible or APR would dual license under the (L)GPL or use a GPL-compatible license such as modern BSD, MIT/X, W3C, etc then we will certainly consider it if there is a technical need. * Can Harmony use ClassPath? Yes! That is the intention. As explained earlier the FSF wants this to be the case. If there are any legal issues with the current GPL exception statement wording then we want to fix that by clarifying the exception to clearly address any concerns the harmony people have that might prevent them from embracing and extending GNU Classpath. Cheers, Mark P.S. I still believe that we all would be best served if the meta-harmony discussions were moved to the harmony mailing lists, reporting back as appropriate as we come to conclusions, but sometimes it doesn't make sense to argue with a herd of elephants. Moved this to just the harmony list. 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