Hi Dieter,

Thanks for your response. So here is what I propose.

As I understand you are willing to donate the simple telnet code described in [1] to the Apache Felix project. To get around the licensing cliffs, we need to follow a few steps:

  * First I suggest you create a JIRA and attach the source
    code (including the correct Apache License file header)
  * Second, your CLA has to be on file with the ASF (see [2])
  * Third, we would have to file an Incubator IP Clearance for
    this code (don't worry, we at Apache Felix would have to
    take care of this), see also [3] FYI

I think for the simple remote shell bundle, this should be enough.

If you decide to donate the full telnetd bundle to Apache Felix, we would also need a software grant (see [4]). Otherwise a JIRA is required to provde the code and the IP Clearance is required for tracking the process.

WDYT ?

Regards
Felix

PS: Including Doug Lea's classes should not be a problem. He does not even require attribution.

[1] http://markmail.org/message/baevm7zigxzten36
[2] http://www.apache.org/licenses/#clas
[3] http://incubator.apache.org/ip-clearance/index.html
[4] http://www.apache.org/licenses/#grants


Dieter Wimberger schrieb:
Hi all,

I'll try to get through step by step.

Rob:
Embedded, probably. Would need to check if I used any API (net, io) that's >= 1.3.

Felix:
Sure. The idea was from the beginning to provide felix (project) with the functionality of a remote shell access.

There are only two classes in the telnetconsole bundle that I didn't write myself: a Latch and a ReentrantLock; however they are actually code that has been placed in the public domain by Doug Lea (from Concurrent Programming in Java, which actually was the foundation for all the java.util.concurrent).

Could there be any conflict releasing these in a package with Apache 2 License?

Also, something has to be done about logging and about having this build with Maven (I am currently building this with my own relatively generic ant script).

Craig:
See my answer to Felix (M.); I'll try to put up the sources asap so you can poke around. Don't get too excited though; the essential part is:
ShellService.executeCommand(line, out, out);

Where line is the input from the client, and out is essentially a PrintStream that prints to the OutputStream corresponding to the socket.

When it comes to the telnetd-osgi bundle, I have also experienced some problems in the Felix container; in particular stopping the bundle and then starting it seems to lead to unexpected results when trying to connect to it (i.e. the connection fails completely and there are some NPE's); I am still investigating why (may also be due to something in the SSH library, so it's not so easy to track down maybe).

I haven't experienced the shutdown problem in the telnetconsole, though. Currently I am running it ontop of felix 1.0.4 without much in it:
[   0] [Active     ] [    0] System Bundle (1.0.4)
[   1] [Active     ] [    1] OSGi R4 Compendium Bundle (4)
[   2] [Active     ] [    1] Apache Felix Shell Service (1.0.1)
[   3] [Active     ] [    1] Apache Felix Shell TUI (1.0.1)
[   4] [Active     ] [    1] Apache Felix Bundle Repository (1.0.3)
[   5] [Active     ] [    1] Apache Felix Telnet Management Console (1.0)

Richard:
Honestly, I actually put together the telnetconsole bundle because I didn't want to "cripple" telnetd-osgi into something that's no longer useful for a generic purpose. E.g. trying to figure a way around installing the configadmin bundle just doesn't make much sense to me when you need to configure it anyway.

So here is what I suggest:
1. get the telnetconsole bundle into Felix (project):
This should be straigthforward, but see the comments I made to Felix (M.).

2. iron out the problems with the telnetd-osgi and figure a way to have some of the extensions (I am using the templates extensively to generate output on a shell).

There is still the possibility to have it inside or outside of Felix (project).

From my point of view, I would at least suggest not to try and "cripple" it (i.e. this translates into: I won't do it, but the code is open source, and available since more or less 2 years, so anybody is welcome ;).

3. provide the glue bundle I wrote (essentially a shell that is hooked into telnetd-osgi). This should rather be part of Felix (project). There is only my own source and all it needs is some Maven magic to build it "the Felix way".


Feedback is welcome as always.

Regards,
Dieter

Reply via email to