Re: Growing the Harmony community

2006-01-16 Thread Mark Wielaard
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

2006-01-16 Thread Mark Wielaard
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

2006-01-16 Thread Mark Wielaard
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

2006-01-13 Thread Mark Wielaard
, 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

2005-12-19 Thread Mark Wielaard
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

2005-12-05 Thread Mark Wielaard
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

2005-12-05 Thread Mark Wielaard
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

2005-12-05 Thread Mark Wielaard
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?)

2005-12-05 Thread Mark Wielaard
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

2005-11-18 Thread Mark Wielaard
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

2005-11-18 Thread Mark Wielaard
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

2005-11-18 Thread Mark Wielaard
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

2005-11-16 Thread Mark Wielaard
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

2005-11-14 Thread Mark Wielaard
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

2005-11-14 Thread Mark Wielaard
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

2005-11-12 Thread Mark Wielaard
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!)

2005-11-12 Thread Mark Wielaard
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

2005-11-12 Thread Mark Wielaard
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

2005-11-12 Thread Mark Wielaard
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

2005-11-12 Thread Mark Wielaard
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!)

2005-11-12 Thread Mark Wielaard
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

2005-11-10 Thread Mark Wielaard
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

2005-11-10 Thread Mark Wielaard
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

2005-11-09 Thread Mark Wielaard
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!)

2005-11-09 Thread Mark Wielaard
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

2005-11-09 Thread Mark Wielaard
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

2005-11-06 Thread Mark Wielaard
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)

2005-11-05 Thread Mark Wielaard
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

2005-11-05 Thread Mark Wielaard
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

2005-11-05 Thread Mark Wielaard
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

2005-11-05 Thread Mark Wielaard
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

2005-11-05 Thread Mark Wielaard
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

2005-11-03 Thread Mark Wielaard
.

* 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

2005-11-03 Thread Mark Wielaard
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

2005-11-03 Thread Mark Wielaard
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

2005-10-29 Thread Mark Wielaard
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)

2005-10-29 Thread Mark Wielaard
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

2005-10-29 Thread Mark Wielaard
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

2005-10-29 Thread Mark Wielaard
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

2005-10-29 Thread Mark Wielaard
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

2005-10-29 Thread Mark Wielaard
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

2005-10-29 Thread Mark Wielaard
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

2005-10-29 Thread Mark Wielaard
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

2005-10-29 Thread Mark Wielaard
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

2005-10-02 Thread Mark Wielaard
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

2005-10-01 Thread Mark Wielaard
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

2005-09-09 Thread Mark Wielaard
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

2005-09-07 Thread Mark Wielaard
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

2005-07-23 Thread Mark Wielaard
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

2005-07-22 Thread Mark Wielaard
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

2005-07-22 Thread Mark Wielaard
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

2005-07-22 Thread Mark Wielaard
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

2005-07-22 Thread Mark Wielaard
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

2005-07-20 Thread Mark Wielaard
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

2005-07-20 Thread Mark Wielaard
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

2005-07-20 Thread Mark Wielaard
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)

2005-07-20 Thread Mark Wielaard
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)

2005-07-20 Thread Mark Wielaard
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

2005-07-15 Thread Mark Wielaard
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

2005-07-13 Thread Mark Wielaard
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

2005-07-06 Thread Mark Wielaard
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

2005-07-06 Thread Mark Wielaard
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

2005-07-06 Thread Mark Wielaard
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

2005-07-05 Thread Mark Wielaard
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

2005-05-12 Thread Mark Wielaard
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

2005-05-07 Thread Mark Wielaard
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

2005-05-07 Thread Mark Wielaard
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