|
Replies:
52
-
Last Post:
Feb 20, 2008 1:27 AM
by: Terrence Barr -...
|
Threads:
[
Previous
|
Next
]
|
|
|
|
|
|
Nokia N800 Branch
Posted:
Jan 31, 2007 6:36 PM
|
|
|
Hullo, Just picked up a Nokia N800 a bit ago (actually a few days before it was even announced, oddly enough) and noted that there is no JVM on the thing. I seek to fix that. I am a developer with much Java experience, but have mostly done PalmOS and WinCE code for the last few years. I gave up on Palm as they can't seem to figure out what they want to be. (They where pushing J2ME hard a few years back but *still* won't stick it in the ROM, go figure) With ACCESS on the horizon, Linux seems the next thing to try. What the hell.
I've been a Linux guy for years (run Slackware) I recently started a bit of an experiment with getting the Maemo dev tools up in a debian image in the VMPlayer on my laptop (which is XP as I still need to do PPC dev >|^P ) I'm ready (time permitting) to do the deep dive on the port.
A) Who's interested and B) Is there a doc on the general structure of the code and the area that one needs to focus on for porting?
Chris
|
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Jan 31, 2007 7:31 PM
in response to: cjplummer
|
|
|
Sweet, thanx for the info. I knew someone had to be somewhere along with the code. Just pulled down a bunch of the docs (which I will prolly be reading on the N800 :D) It's too bad the VM book is in HTML. (I did find a CHM reader though so I may try that) Looks like I'll be dusting off my GTK knowledge (pretty scary, it's been almost 10 years) Been meaning to do more with BT as well, I had just started to get into that on the Palm. I know that they have started porting JSR 82 to the PC, but everyone uses the M$ stack which does not allow you to do the L2CAP stuff (That and most laptops I run into are using the Toshiba stack anyway)
Fun, fun, fun. A virtual machine in a virtual dev env in a virtual linux box. If this got anymore abstract it would just be theory!
Chris
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Oct 31, 2007 6:47 AM
in response to: cjplummer
|
|
|
Hi
I already installed the PhoneME AS, but i want to start making graphic apps using netbeans but all the sample apps crashed, there's no java.awt.Frame, so this PhoneME thing is not intended to be a side choice for maemo plattform?
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Oct 31, 2007 8:12 PM
in response to: cjplummer
|
|
|
My question is the following:
How do i create GUIs (like javax.swing.JFrame or java.awt.Frame) using The Phone ME on my nokia n800? is it possible?
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Oct 31, 2007 8:14 PM
in response to: efebo_abel
|
|
|
phonemeadvanced@mobileandembedded.org wrote: > My question is the following: > > How do i create GUIs (like javax.swing.JFrame or java.awt.Frame) using The Phone ME on my nokia n800? is it possible?
Hi, yes it's possible but the port of Java ME Personal Profile (AWT) is not finished yet for the Nokia N800. We are looking for volunteers to help make this happen. Would you be willing to do the work in getting AWT working on CDC/Personal Profile for the Nokia N800? (This is one of the main reasons we open sourced this project, when you find something is missing you participate and help add to the project)
Hinkmond
--------------------------------------------------------------------- To unsubscribe, e-mail: advanced-unsubscribe@phoneme.dev.java.net For additional commands, e-mail: advanced-help@phoneme.dev.java.net
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Nov 1, 2007 6:30 AM
in response to: Hinkmond Wong
|
|
|
wow sounds interesting, what does it takes to get involved on this? besides knowing java, what i was trying to say on my previous thread was, that i downloaded netbeans, and i was trying to use the cdc examples bundled in neatbeans and none of this examples worked, obviousbly because this port is not finished, thanks for letting me know that
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Nov 2, 2007 6:13 PM
in response to: efebo_abel
|
|
|
phonemeadvanced@mobileandembedded.org wrote: > wow sounds interesting, what does it takes to get involved on this? besides knowing java, what i was trying to say on my previous thread was, that i downloaded netbeans, and i was trying to use the cdc examples bundled in neatbeans and none of this examples worked, obviousbly because this port is not finished, thanks for letting me know that > >
Hi please follow the instructions here:
http://wiki.java.net/bin/view/Mobileandembedded/PhoneMEAdvancedPlatformsNokia800
After you verify you can build with the above instructions, your next step is to try to build with the GUI.
make J2ME_CLASSLIB=personal AWT_PEERSET=gtk ... (You should see 19 class build errors currently)
Once you are here, I can tell you how to fix those 19 class compilation errors.
Let me know when you are ready for that.
Thanks,
Hinkmond
--------------------------------------------------------------------- To unsubscribe, e-mail: advanced-unsubscribe@phoneme.dev.java.net For additional commands, e-mail: advanced-help@phoneme.dev.java.net
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Nov 20, 2007 10:52 AM
in response to: Hinkmond Wong
|
|
|
Hi Wong,
I saw your post and now i`m here
make J2ME_CLASSLIB=personal AWT_PEERSET=gtk ... (You should see 19 class build errors currently)
How can i resolve that build erros?
Thanks in advance!
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Nov 20, 2007 11:05 AM
in response to: mfabiop
|
|
|
phonemeadvanced@mobileandembedded.org wrote: > Hi Wong, > > I saw your post and now i`m here > > make J2ME_CLASSLIB=personal AWT_PEERSET=gtk ... > (You should see 19 class build errors currently) > > How can i resolve that build erros? > > Thanks in advance! >
Hi mfabiop,
Great to hear you are now at the point where you see the build errors. Now for each build error go to the file where each build error occurred and add an empty method with the indicated method signature from the build error line. Each method does not need to be fully implemented for now, just the skeleton with the matching method signature needs to be added to each file, to get past the 19 compilation errors.
This should allow you to then build cleanly.
Let me know if you run into any problems.
Thanks,
Hinkmond
--------------------------------------------------------------------- To unsubscribe, e-mail: advanced-unsubscribe@phoneme.dev.java.net For additional commands, e-mail: advanced-help@phoneme.dev.java.net
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Nov 21, 2007 5:10 PM
in response to: Hinkmond Wong
|
|
|
Hi Wong,
I've been added the empty methods and i had to create the following classes and interfaces because there isn't any in trunk:
New classes CDC Personal
java.awt.goem.AffineTransform java.awt.font.GlyphVector java.awt.font.FontRenderContext java.awt.Paint java.awt.image.BufferedImageOp java.awt.image.RenderedImage java.awt.image.renderable.RenderableImage
New interfaces CDC Personal
java.awt.Paint
Now, i get the following error message:
make: *** No rule to make target `../../src/linux/personal/native/sun/audio/sun_audio_AudioDevice.h', needed by `../../build/linux-arm-generic/./obj/audioDevice.o'. Stop.
Do you know how to resolve it? I've put the make command with the following arguments:
make CVM_TARGET_TOOLS_PREFIX=/scratchbox/compilers/cs2005q3.2-glibc-arm/bin/arm-linux- USE_AAPCS=true J2ME_CLASSLIB=personal AWT_PEERSET=gtk TOOLS_DIR=/pmea/tools/trunk/
Thanks in advance and again 
Marcos Fábio
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Nov 21, 2007 5:53 PM
in response to: mfabiop
|
|
|
phonemeadvanced@mobileandembedded.org wrote: > Hi Wong, > > I've been added the empty methods and i had to create the following classes and interfaces because there isn't any in trunk: > > New classes CDC Personal > > java.awt.goem.AffineTransform > java.awt.font.GlyphVector > java.awt.font.FontRenderContext > java.awt.Paint > java.awt.image.BufferedImageOp > java.awt.image.RenderedImage > java.awt.image.renderable.RenderableImage > > New interfaces CDC Personal > > java.awt.Paint > > Now, i get the following error message: > > make: *** No rule to make target `../../src/linux/personal/native/sun/audio/sun_audio_AudioDevice.h', needed by `../../build/linux-arm-generic/./obj/audioDevice.o'. Stop. > > Do you know how to resolve it? I've put the make command with the following arguments: > > make CVM_TARGET_TOOLS_PREFIX=/scratchbox/compilers/cs2005q3.2-glibc-arm/bin/arm-linux- USE_AAPCS=true J2ME_CLASSLIB=personal AWT_PEERSET=gtk TOOLS_DIR=/pmea/tools/trunk/
Hi Marcos,
Please let me know if it's OK to call you Marcos. And, please call me "Hinkmond" (my first name) .
The problem you are seeing is strange, since sun_audio_AudioDevice.h is supposed to be automatically generated by the JNI (javah) part of the build, since sun.audio.audioDevice.c is a native module with native methods called from
src/share/personal/classes/common/sun/audio/AudioDevice.java
The native method is at:
src/linux/personal/native/sun/audio/audioDevice.c
Did you change or modify anything in the Makefiles especially, these lines needed in defs_personal.mk (which should automate the JNI javah generation of the missing sun_audio_AudioDevice.h file):
# # Shared Native code # AWT_LIB_OBJS += \ audioDevice.o \ embeddedframe.o \
If you didn't make any strange modifications in the Makefiles, try doing a "make clean", then build with your make command (above) again. Maybe you did a Cntrl-C or interrupted the build while it was in the middle of doing the JNI javah auto-generation of .h files???
Hinkmond
--------------------------------------------------------------------- To unsubscribe, e-mail: advanced-unsubscribe@phoneme.dev.java.net For additional commands, e-mail: advanced-help@phoneme.dev.java.net
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Nov 21, 2007 7:03 PM
in response to: Hinkmond Wong
|
|
|
Hi Hinkmond,
It's OK to call me Marcos (my first name too ).
I didn't make any modification in the Makefiles, i've just download the source code and did what i wrote in the previous post.
I did a "make clean" how you and Chris said, but now i get the following errors:
bash: /usr/tools/lib/linux-arm-generic/usr/bin/gtk-config: No such file or directory bash: /usr/tools/lib/linux-arm-generic/usr/bin/gtk-config: No such file or directory cc ../../src/linux/personal/native/sun/audio/audioDevice.c bash: /usr/tools/lib/linux-arm-generic/usr/bin/gtk-config: No such file or directory bash: /usr/tools/lib/linux-arm-generic/usr/bin/gtk-config: No such file or directory cc ../../src/share/personal/native/sun/awt/common/embeddedframe.c bash: /usr/tools/lib/linux-arm-generic/usr/bin/gtk-config: No such file or directory bash: /usr/tools/lib/linux-arm-generic/usr/bin/gtk-config: No such file or directory cc ../../src/share/personal/native/awt/gtk/GComponentPeer.c ../../src/share/personal/native/awt/gtk/GComponentPeer.c:28:21: gtk/gtk.h: No such file or directory ../../src/share/personal/native/awt/gtk/GComponentPeer.c:29:22: gdk/gdkx.h: No such file or directory In file included from ../../src/share/personal/native/awt/gtk/GComponentPeer.h:31, from ../../src/share/personal/native/awt/gtk/GComponentPeer.c:37: ../../src/share/personal/native/awt/gtk/awt.h:34:22: X11/Xlib.h: No such file or directory ../../src/share/personal/native/awt/gtk/awt.h:35:23: X11/Xatom.h: No such file or directory ../../src/share/personal/native/awt/gtk/awt.h:36:23: X11/Xutil.h: No such file or directory In file included from ../../src/share/personal/native/awt/gtk/GComponentPeer.c:37: ../../src/share/personal/native/awt/gtk/GComponentPeer.h:46: error: syntax error before "GtkWidget" ../../src/share/personal/native/awt/gtk/GComponentPeer.h:46: warning: no semicolon at end of struct or union ../../src/share/personal/native/awt/gtk/GComponentPeer.h:50: warning: type defaults to `int' in declaration of `drawWidget' ../../src/share/personal/native/awt/gtk/GComponentPeer.h:50: warning: data definition has no type or storage class ../../src/share/personal/native/awt/gtk/GComponentPeer.h:59: error: syntax error before "lastClickTime" ../../src/share/personal/native/awt/gtk/GComponentPeer.h:59: warning: type defaults to `int' in declaration of `lastClickTime' ../../src/share/personal/native/awt/gtk/GComponentPeer.h:59: warning: data definition has no type or storage class ../../src/share/personal/native/awt/gtk/GComponentPeer.h:67: error: syntax error before '*' token ../../src/share/personal/native/awt/gtk/GComponentPeer.h:67: warning: type defaults to `int' in declaration of `cursor'
and more and more errors... 
Thank you, Hinkmond and Chris!
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Nov 21, 2007 7:07 PM
in response to: mfabiop
|
|
|
Try setting GTK_CONFIG to the path to your gtk-config tool. Since is looks like you are doing a cross build, you will need to use the gtk-config for the gtk your device is using, so this is most likely not the gtk-config that is on your $PATH.
Chirs
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Nov 21, 2007 7:44 PM
in response to: cjplummer
|
|
|
I think i'm doing anything wrong, of course 
I'm using scratchbox 4 and maemo 3.2. Is there something i need to do before compile CDC? Have i to compile inside scratchbox?
Thanks
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Nov 21, 2007 7:12 PM
in response to: mfabiop
|
|
|
I saw that i don't have gtk-config installed. I'm installing now and i will post my results soon.
Sorry...
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Nov 22, 2007 2:10 AM
in response to: mfabiop
|
|
|
Hi Chris and Hinkmond,
I've installed gtk-config and xlibs. Now i get the following errors:
cc ../../src/linux/personal/native/sun/audio/audioDevice.c cc ../../src/share/personal/native/sun/awt/common/embeddedframe.c cc ../../src/share/personal/native/awt/gtk/GComponentPeer.c In file included from /usr/include/gtk-1.2/gdk/gdkx.h:30, from ../../src/share/personal/native/awt/gtk/GComponentPeer.c:29: /usr/include/gtk-1.2/gdk/gdkprivate.h:31:22: X11/Xlib.h: No such file or directory /usr/include/gtk-1.2/gdk/gdkprivate.h:32:23: X11/Xutil.h: No such file or directory In file included from /usr/include/gtk-1.2/gdk/gdkx.h:30, from ../../src/share/personal/native/awt/gtk/GComponentPeer.c:29: /usr/include/gtk-1.2/gdk/gdkprivate.h:64: error: syntax error before "Window" /usr/include/gtk-1.2/gdk/gdkprivate.h:64: warning: no semicolon at end of struct or union /usr/include/gtk-1.2/gdk/gdkprivate.h:65: warning: type defaults to `int' in declaration of `xdisplay' /usr/include/gtk-1.2/gdk/gdkprivate.h:65: warning: data definition has no type or storage class /usr/include/gtk-1.2/gdk/gdkprivate.h:73: error: syntax error before ':' token /usr/include/gtk-1.2/gdk/gdkprivate.h:74: error: syntax error before ':' token
I didn't have the Xlib.h file in the folder /usr/include/X11, but i've just installed xlibs-dev and now it exist in this folder.
Thanks a lot in advance and again!
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Nov 21, 2007 6:23 PM
in response to: mfabiop
|
|
|
> > make: *** No rule to make target > `../../src/linux/personal/native/sun/audio/sun_audio_AudioDevice.h', needed by > `../../build/linux-arm-generic/./obj/audioDevice.o'. > Stop. >
Try doing a "make clean" first. Sometimes if the previous build fails, the JNI headers aren't created properly, and the makefiles don't detect this.
Chris
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Dec 13, 2007 3:28 AM
in response to: Hinkmond Wong
|
|
|
> Hi, yes it's possible but the port of Java ME Personal Profile (AWT) is > not finished yet for the Nokia N800. We are looking for volunteers to > help make this happen. Would you be willing to do the work in getting > AWT working on CDC/Personal Profile for the Nokia N800? (This is one of > the main reasons we open sourced this project, when you find something > is missing you participate and help add to the project)
>Hinkmond
If volunteers finish the implementation for the N800, will Sun retain exclusive rights when the resulting JVM is deployed commercially?
I assure you that there are people who can finish this and other ports quite fast, but do not do so because they are unsure about their subsequent rights. Can one become a third-party vendor of Java ports?
Hinkmond, can you please be explicit about Sun's policy in these matters?
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Dec 13, 2007 4:21 AM
in response to: nsicom100
|
|
|
|
|
phonemeadvanced@mobileandembedded.org wrote: >> Hi, yes it's possible but the port of Java ME Personal Profile (AWT) is >> not finished yet for the Nokia N800. We are looking for volunteers to >> help make this happen. Would you be willing to do the work in getting >> AWT working on CDC/Personal Profile for the Nokia N800? (This is one of >> the main reasons we open sourced this project, when you find something >> is missing you participate and help add to the project) > > >> Hinkmond > > If volunteers finish the implementation for the N800, will Sun retain exclusive rights when the resulting JVM is deployed commercially? > > I assure you that there are people who can finish this and other ports quite fast, but do not do so because they are unsure about their subsequent rights. Can one become a third-party vendor of Java ports? > > Hinkmond, can you please be explicit about Sun's policy in these matters? > [Message sent by forum member 'nsicom100' (nsicom100)] > > http://forums.java.net/jive/thread.jspa?messageID=249881 > > --------------------------------------------------------------------- > To unsubscribe, e-mail: advanced-unsubscribe@phoneme.dev.java.net > For additional commands, e-mail: advanced-help@phoneme.dev.java.net > >
-- [terrence.barr.vcf] --------------------------------------------------------------------- To unsubscribe, e-mail: advanced-unsubscribe@phoneme.dev.java.net For additional commands, e-mail: advanced-help@phoneme.dev.java.net
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Dec 13, 2007 4:51 AM
in response to: nsicom100
|
|
|
nsicom100,
I can give you some guidance but since I am not a lawyer you will have to consult with your legal advisor and/or Sun's legal department for specifics. (Sorry, I am required to state that).
Contributions to phoneME can only be made if you have signed the Sun Contributor agreement (SCA), see here: http://www.sun.com/software/opensource/contributor_agreement.jsp. Please refer to the FAQ and the SCA itself which is now available in a plain English version and easy to understand.
Among other things the SCA says that you retain all your rights to your contribution and intellectual property but that you grant Sun joint ownership. This allows Sun to use the contribution in a commercial product. You are free to exercise all your rights as the original owner of the contribution without consulting with Sun, including providing commercial products or services based upon your contribution.
Furthermore, since phoneME is licensed under GPLv2 you are also free to provide products and services based on the phoneME code subject to the GPLv2 rules.
Let me know if you have more questions.
-- Terrence Technical Evangelist, Java Mobile & Embedded Community
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Dec 13, 2007 9:17 AM
in response to: terrencebarr
|
|
|
Terrence,
Thanks for your answer. I have in fact more questions. Let me start with just one, as my other questions would depend on the answer to this one.
If I am "free to provide products", and I am Nokia, can I port phoneME code to my N800 and sell millions of N800 devices with built-in java without paying to Sun?
Thank you, - Rene
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Dec 13, 2007 9:40 AM
in response to: nsicom100
|
|
|
Rene,
Well, phoneME is just GPL code. So the standard GPL properties apply to combined works you create by adding phoneME to a bunch of other code that you install onto a device. If that is OK for you then, yes, you can sell your devices without paying Sun. In fact, some people are doing just that today.
But here are some important things to remember:
- Some terms and conditions of the GPL license are open to interpretations. You should definitely get legal advice before embarking on such a path.
- Using phoneME by itself does not imply Java TCK compatibility nor branding rights.
- phoneME is community supported on a best-effort basis, it does not imply any sort of service level or support by Sun
For some projects and products these may be perfectly acceptable limitations, for others they may not be - so you have to consider your situation carefully.
-- Terrence
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Dec 13, 2007 10:25 AM
in response to: terrencebarr
|
|
|
Terrence, thanks again.
Any legal advice may turn out invalid. Therefore, do I understand correctly that you are telling me that it would be best for let us say Nokia, being not prepared to give exactly everything over to GPL, to sign a license agreement with Sun to prevent problems?
- Rene
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Dec 13, 2007 11:05 AM
in response to: nsicom100
|
|
|
Hi list, I am really a newbie to the mobile world, hence I am sorry if my question my seem very stupid. I have been asked to check for the possibility to port an existing Swing JFrame based application to the N800 platform. I have looked around for a couple of hours my guess for the moment is that this cannot be done right away. Am I right?
Sorry again for this very basic (very stupid) question.
Thx, Simone.
--------------------------------------------------------------------- To unsubscribe, e-mail: advanced-unsubscribe@phoneme.dev.java.net For additional commands, e-mail: advanced-help@phoneme.dev.java.net
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Dec 13, 2007 11:21 AM
in response to: Simone Giannecc...
|
|
|
Ops, sorry about breaking the thread guys, bad mistake. I will open a new one.
Simone.
|
|
|
|
|
|
|
|
Swing on phoneME
Posted:
Dec 13, 2007 2:43 PM
in response to: Simone Giannecc...
|
|
|
Simone Giannecchini wrote: > Hi list, > I am really a newbie to the mobile world, hence I am sorry if my > question my seem very stupid. I have been asked to check for the > possibility to port an existing Swing JFrame based application to the > N800 platform. I have looked around for a couple of hours my guess for > the moment is that this cannot be done right away. Am I right? > > > Sorry again for this very basic (very stupid) question. >
Hi Simone,
That's actually a very good question. However, Swing for Java ME (phoneME) or what we call JSR 209 (Advanced Graphics User Interface, AGUI) has not been open sourced yet because of 3rd party encumbrances. AWT on the other hand is open sourced in the phoneME project as what is known as the CDC/Personal Profile.
So, if you wrote an AWT Frame based app, you could help port CDC/Personal Profile to the N800 and run it without problem.
Hinkmond
--------------------------------------------------------------------- To unsubscribe, e-mail: advanced-unsubscribe@phoneme.dev.java.net For additional commands, e-mail: advanced-help@phoneme.dev.java.net
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Dec 13, 2007 11:19 AM
in response to: nsicom100
|
|
|
Yep, that is what a commercial license is about - it allows you to build a proprietary product, mix in additional 3rd party components and licenses, and it provides you with TCK validation and Java branding. All things that a commercial vendor would certainly want. It's a dual-license business model that is fairly common in the industry, for example at Trolltech.
-- Terrence
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Dec 13, 2007 12:41 PM
in response to: terrencebarr
|
|
|
And a commercial-license agreement between Nokia and Sun would give no legal rights to co-owners of parts of the code, like volunteers who did the port to the N800. Correct?
- Rene
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Dec 13, 2007 1:42 PM
in response to: nsicom100
|
|
|
I assume so but for these types of questions our business people would need to be involved. Licenses are a notoriously tricky subject.
-- Terrence
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Dec 13, 2007 1:50 PM
in response to: terrencebarr
|
|
|
Do you see the problem, Terrence? As it stands, professional third parties will not contribute, because doing so would be against business logic.
- Rene
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Dec 13, 2007 2:32 PM
in response to: nsicom100
|
|
|
phonemeadvanced@mobileandembedded.org wrote: > Do you see the problem, Terrence? As it stands, professional third parties will not contribute, because doing so would be against business logic. >
Hi Rene,
I see it as counter to what you are thinking. Professional third parties will want to contribute to show they are active participants in a totally open project, so that their changes are put into the trunk or the repository which means they won't have to keep manually merging as the trunk evolves, and to retain the IP of their contribution so they can still make money off of the changes.
Just like the way Ubuntu, Debian, SuSE, Red Hat, etc. contribute to Linux, you can still create a vialbe 3rd party business while contributing your source code to an open source project like phoneME. It makes good logical business sense as evidenced by other GPL projects.
Sun with the phoneME project is no different than the Linux project. There is nothing new about this model, since it shows that it works with projects such as Linux, where 3rd parties can make lots of money even when they give back their contributions to the open source.
I think there might be a bit of unfair prejudice against Sun thinking that we have some type of hidden agenda with phoneME. But, what is really happening is that phoneME is just like other GPL projects out there already.
Hinkmond
--------------------------------------------------------------------- To unsubscribe, e-mail: advanced-unsubscribe@phoneme.dev.java.net For additional commands, e-mail: advanced-help@phoneme.dev.java.net
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Dec 13, 2007 7:40 PM
in response to: Hinkmond Wong
|
|
|
Hi Hinkmond,
These generalities leave me at a loss. I need an example. Take the pertinent case. If I would spend a man-year doing the N800 graphics port, which scenario do you see for me to not loose my investment? Will Sun reward me for my visiiblity? Will Nokia sign a contract with me? Java programmers do not need me - I am only implementing a well-known API. Do you want me to keep the work for the N800 in my hands, while proving its quality only by actual demonstration, until someone pays me for revealing the code?
Perhaps the problem is that I am too ignorant about the Linux case to understand the parallel you mention. We already established that in practice Nokia will pay licensing costs for Java to Sun. Does Nokia also pay a license fee for Linux? Who gets it?
- Rene
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Dec 14, 2007 12:24 AM
in response to: nsicom100
|
|
|
Rene,
This is a good discussion, thanks for starting it.
First, I'd just like to second Hinkmonds last email ... the GPL-based business model is a very common one in the industry and phoneME is no different. That doesn't mean it works for everybody, and it might not work for you. It depends on your strategy and goals.
As for your concrete situation: If you spend a year on an N800 graphics port I see the following opportunities:
- You will be the first one who can offer an integrated and tested phoneME stack with support on the specific graphics platforms. That's a time-to-market advantage. - You will be a preeminent expert for graphics support on phoneME and there is good possibility 3rd parties will engage with you for support and services when they need optimizations and support for the open source version of your graphics port - Since you have demonstrated your expertize with phoneME you may be hired for follow-on work on entirely different commercial projects around phoneME, mobile Java, or related technologies - You can create a commercial package for your graphics code and offer it to commercial licensees of phoneME as a fee-based graphics module - And finally, because phoneME is GPL its footprint in the market is growing more rapidly than a commercial version alone could and that gives you much greater opportunity to monetize on the aforementioned points ("rising tide lifts all boats")
There are several additional points I can think of as well. But this should give you a general idea of the opportunities. The transition to open source business models is not always obvious or easy, the industry as a whole is still struggling with some of this. The underlying principle is that monetization is moving from the point of sale of code (old model) to the point of value (i.e. when code is working and has proven its value then business is generated).
Hope that makes sense.
-- Terrence
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Dec 14, 2007 3:31 AM
in response to: terrencebarr
|
|
|
Thanks for that. Let me answer you point by point:
> - You will be the first one who can offer an integrated and tested phoneME stack with support on the specific graphics platforms. That's a time-to-market advantage.
That depends on my timing. You seem to almost suggest that I do a lot of coding off-line, put it in the repository at the last moment and then sell before others, like Sun, can do the same. My business case would seem to be marginal rather than essential, and not one very much in the spirit of GPL.
> - You can create a commercial package for your graphics code and offer it to commercial licensees of phoneME as a fee-based graphics module.
This would not seem to apply in any simple way to our example, Personal Profile for N800. Note that Personal Profile is not a product I am free to define. The API is fixed, standard. My work would be to produce the native implementation for the N800, largely C/C++-code. This native code, ultimately compiled into a dyamic library, would be shared property between me and Sun. Together with a jar file containing the corresponding Java classes, that would be a software product that could be interesting to who has CDC/Foundation Profile, but not yet Personal Profile. So far so good. However, I co-own my dynamic library with Sun, so we would at least be in direct competition. Worse, for me, the jar would be owned by Sun, and so in fact I will not be able sell a thing if my competitor would object. Also, if Sun would decide to put Personal Profile in its standard commercially supported CDC distribution, I will be out of business. I mean, let me say it frankly, Sun Microsystems is known to have become a company in which sales people and lawyers have relatively strong positions.
>- Since you have demonstrated your expertize with phoneME you may be hired for follow-on work on entirely different commercial projects around phoneME, mobile Java, or related technologies
I have already demonstrated this. You may know the CrE-ME VM for Windows Mobile.
> - And finally, because phoneME is GPL its footprint in the market is growing more rapidly than a commercial version alone could and that gives you much greater opportunity to monetize on the aforementioned points ("rising tide lifts all boats")
This is an important point, and in fact the reason why I am writing. I find it hard to understand how this prediction can come true in the absence of proper incentives for professional third parties to contribute. If I have no boat, the rising tide would have no way to lift me. Why would I help rising the tide, if that would lift up only other people's boats?
Respectfully,
- Rene
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Dec 14, 2007 8:29 AM
in response to: nsicom100
|
|
|
I am not sure how you are trying to install the MIDlet. This should work: Start the MIDlet Manager, click on "Install" (in the manager) and point the installer to the jad file.
-- Terrence
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Dec 14, 2007 5:51 PM
in response to: nsicom100
|
|
|
phonemeadvanced@mobileandembedded.org wrote: > Hi Hinkmond, > > All these generalities leave me at a loss. I need an example. Take the pertinent case. If I would spend a man-year doing the N800 graphics port, which scenario do you see for me to not loose my investment? Will Sun reward me for my visiiblity? Will Nokia sign a contract with me? Do you want me to keep the work for the N800 in my hands, proving its quality only by actual demonstration, until someone pays me for revealing the code? >
Hi Rene,
I saw Terrence made some good reasons already. All I can add is that first off, a very minor point is that finishing the N800 graphics port of CDC/PP to Maemo Linux/ARM/GTK would take about a man-week (less for you, I'm guessing ;-)), not a man-year, but I get your point that you are presenting a hypothetical case.
If I were an engineer spending 1 man-year doing phoneME work, I would contribute back the source code to the phoneME and then immediately post an offer where you can download or buy a CD-ROM with a binary build of the source code from my own Web site, charging money for it, because no one really wants to go through the hassle of setting up scratchbox to build a binary, when they can buy it from you instead.
Then, on my Web site where I offer the binary, I would advertise my consulting services for any company that would like to have a fully QA-tested version of the port, not just the downloadable version or the source files from the repository.
Also, I would advertise my other services on that Web site.
Here's an example of what that Web site would look like:
http://www.apple.com/safari/download/ (Just substitute your product name where it says "Safari" and the word "phoneME" for where it says "WebKit") 
Or like this: http://www.apple.com/safari/ (Again, sub your product name for Safari, and phoneME for WebKit)
Heck, I would add coffee mugs and t-shirts with your product logo on them, from your Web site too, linked from cafepress.com just for fun. 
The point is no one wants just a pointer to the repository of open sourced source code nowadays. It's good to have that to show you are part of a bigger developer community. But, customers want a binary build and they want a live human to turn to for questions, problems, bug fixing, and enhancements. That's where the money is, not source code.
Hinkmond
--------------------------------------------------------------------- To unsubscribe, e-mail: advanced-unsubscribe@phoneme.dev.java.net For additional commands, e-mail: advanced-help@phoneme.dev.java.net
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Dec 16, 2007 7:27 AM
in response to: Hinkmond Wong
|
|
|
Hinkmond, Terrence, thanks for sharing your thoughts.
- Rene
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Feb 6, 2008 2:51 PM
in response to: Hinkmond Wong
|
|
|
Jumping in late to the discussion...
I don't see a "classpath" exception on PhoneME (please correct me if I'm wrong). This means that it can only run GPL'd code. You cannot run commercial code on the application because this would constitute "dynamic" linking.
So, if my understanding is correct, this model is NOT like the Linux model. I don't think that Linux would have any commercial success if it could only run GPL'd code and I don't think that it would have many contributors. For example, it would be impossible to run the Sun JDK licensed JDK if commercial code was not allowed, that limitation on Java support alone would have crippled Linux.
Assume that there are no plans to add the "classpath" exception, I'll move along...
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Feb 6, 2008 3:02 PM
in response to: teadrinker
|
|
|
Currently there isn't the Classpath Exception but that doesn't mean that you can't run non-GPL software. Distribution is key WRT to GPL and the strong copy left protection. If you're not distributing a GPL implementation then you can use the code and implement against it with nonGPL code. If you are distributing the GPL implementation with some other code then the additional code would have to be GPL as well.
Make sense?
Binky
phonemeadvanced@mobileandembedded.org wrote: > Jumping in late to the discussion... > > I don't see a "classpath" exception on PhoneME (please correct me if I'm wrong). This means that it can only run GPL'd code. You cannot run commercial code on the application because this would constitute "dynamic" linking. > > So, if my understanding is correct, this model is NOT like the Linux model. I don't think that Linux would have any commercial success if it could only run GPL'd code and I don't think that it would have many contributors. For example, it would be impossible to run the Sun JDK licensed JDK if commercial code was not allowed, that limitation on Java support alone would have crippled Linux. > > Assume that there are no plans to add the "classpath" exception, I'll move along... > [Message sent by forum member 'teadrinker' (teadrinker)] > > http://forums.java.net/jive/thread.jspa?messageID=257762 > > --------------------------------------------------------------------- > To unsubscribe, e-mail: advanced-unsubscribe@phoneme.dev.java.net > For additional commands, e-mail: advanced-help@phoneme.dev.java.net > >
--------------------------------------------------------------------- To unsubscribe, e-mail: advanced-unsubscribe@phoneme.dev.java.net For additional commands, e-mail: advanced-help@phoneme.dev.java.net
|
|
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Feb 8, 2008 11:06 AM
in response to: terrencebarr
|
|
|
Sorry, I should have clarified. We distribute Java Applications (http://www.ergotech.com) for manufacturing and factory automation. The key point is that we deliver the Application, the JVM, OS and system hardware are simply necessary evils from our viewpoint.
We provide a drag-and-drop development tool and a deployment engine. We ship the deployment engine on hardware that the end user sees only as a "Black Box". By and large they have no interest in the technology of the deployment, they just want to be able to hit buttons in the development tool and have the deployment work.
We have three or four ARM platforms, for example the NSLU2, on which customers have requested our application run. Since this would involve shipping the system, OS, JVM and deployment engine the GPL license restrictions hit us. I don't think that there's much doubt about this - you can't distribute non-GPL's applications and phoneME.
The choice of licensing for phoneME is Sun's. I'm sanguine about this. It's just part of life and there are other JVMs. All JVMs have restrictions. For commercial/closed source implementations it's usually the high cost of porting/limited platform availability for low volume factory automation deployment (all manufacturing deployments are low volume when compared with consumer deployments). For phoneME it just happens to be the GPL. For OpenJDK it's too big. The lack of JVMs on small or embedded platforms has long been a limitation for us, but the situation is improving and we have other options. JAMVM seems the most generally applicable and is the next in line. Maybe we'll pre-compiling with GCJ and interpret only the deployed code. However, with it's current licensing, PhoneME is not an option.
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Feb 8, 2008 1:12 PM
in response to: teadrinker
|
|
|
Hi again,
Thanks for the additional info. GPL-licensed code is probably a bad match for your current business (the way I understand it). But cases like yours are what Sun's commercial Java ME licenses are designed for - including pricing models that should allow for small-scale deployments. If you'd like I can get you in touch with our sales team to work on a quote.
Hope that help,
-- Terrence Barr Technical Evangelist Sun Microsystems
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Feb 8, 2008 1:43 PM
in response to: terrencebarr
|
|
|
phonemeadvanced@mobileandembedded.org wrote: > Hi again, > > Thanks for the additional info. GPL-licensed code is probably a bad match for your current business (the way I understand it). But cases like yours are what Sun's commercial Java ME licenses are designed for - including pricing models that should allow for small-scale deployments. If you'd like I can get you in touch with our sales team to work on a quote. > > Hope that help, > > -- Terrence Barr >
I agree with Terrence. The advantage of phoneME is that it is dual-licensed. So, if you don't like the GPL license, you can use the other license that phoneME falls under.
Hinkmond
--------------------------------------------------------------------- To unsubscribe, e-mail: advanced-unsubscribe@phoneme.dev.java.net For additional commands, e-mail: advanced-help@phoneme.dev.java.net
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Feb 15, 2008 2:49 PM
in response to: terrencebarr
|
|
|
Terrence,
Seems it would at least be worth investigating. Who would be the best person to contact?
Thanks,
Jim
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Feb 20, 2008 1:27 AM
in response to: teadrinker
|
|
|
|
|
Jim,
Sorry for the delayed reply. I'd need to take down some information from you to forward to the sales folks. Please contact me off-forum at evangelist[at]mobileandembedded.org.
Thanks,
-- Terrence
phonemeadvanced@mobileandembedded.org wrote: > Terrence, > > Seems it would at least be worth investigating. Who would be the best person to contact? > > Thanks, > > Jim > [Message sent by forum member 'teadrinker' (teadrinker)] > > http://forums.java.net/jive/thread.jspa?messageID=259303 > > --------------------------------------------------------------------- > To unsubscribe, e-mail: advanced-unsubscribe@phoneme.dev.java.net > For additional commands, e-mail: advanced-help@phoneme.dev.java.net > > [terrence.barr.vcf] --------------------------------------------------------------------- To unsubscribe, e-mail: advanced-unsubscribe@phoneme.dev.java.net For additional commands, e-mail: advanced-help@phoneme.dev.java.net
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Nov 5, 2007 1:52 PM
in response to: cjplummer
|
|
|
I'm looking for a JRE/JVM in order simply to run some commandline stuff like Saxon, so I'm not looking for any kind of graphics or GUI development kit.
Has anyone actually compiled plain ol' Java for the N800 yet?
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Nov 5, 2007 1:57 PM
in response to: frisket
|
|
|
phonemeadvanced@mobileandembedded.org wrote: > I'm looking for a JRE/JVM in order simply to run some commandline stuff like Saxon, so I'm not looking for any kind of graphics or GUI development kit. > > Has anyone actually compiled plain ol' Java for the N800 yet?
Johannes Eickhold posted a compiled version of Java ME CDC/Foundation Profile (no GUI) here for the N770 which should also run on the N800:
http://wiki.java.net/bin/view/Mobileandembedded/PhoneMEAdvancedPlatformsNokia770#download
Hinkmond
--------------------------------------------------------------------- To unsubscribe, e-mail: advanced-unsubscribe@phoneme.dev.java.net For additional commands, e-mail: advanced-help@phoneme.dev.java.net
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Oct 31, 2007 2:22 PM
in response to: cgallaty
|
|
|
Please, can you help JNA project (https://jna.dev.java.net/) with a WinCE implementation ?
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Oct 31, 2007 2:30 PM
in response to: yhilem
|
|
|
phonemeadvanced@mobileandembedded.org wrote: > Please, can you help JNA project (https://jna.dev.java.net/) with a WinCE implementation ? >
Hi yhilem,
Can you help our project first by porting JNA to Java ME CDC/Foundation Profile? That would be the preliminary step.
Here is a pointer to our Java ME CDC/FP specs:
http://java.sun.com/javame/reference/apis.jsp
Thanks,
Hinkmond
--------------------------------------------------------------------- To unsubscribe, e-mail: advanced-unsubscribe@phoneme.dev.java.net For additional commands, e-mail: advanced-help@phoneme.dev.java.net
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Oct 31, 2007 2:52 PM
in response to: Hinkmond Wong
|
|
|
Hi Hinkmond Wong,
JNA is a wrapper of JNI. PhoneMe CDD already offers an implementation of JNI.
I do not understand what you mean by "porting JNA to Java ME CDC/Foundation Profile".
|
|
|
|
|
|
|
|
Re: Nokia N800 Branch
Posted:
Oct 31, 2007 2:52 PM
in response to: yhilem
|
|
|
phonemeadvanced@mobileandembedded.org wrote: > Hi Hinkmond Wong, > > JNA is a wrapper of JNI. > PhoneMe CDD already offers an implementation of JNI. > > I do not understand what you mean by "porting JNA to Java ME CDC/Foundation Profile". > >
As Dean points out, you have to rewrite JNA to not use java.nio.* API calls. In your rewrite of JNA code, make sure it only calls Java ME CDC/Foundation Profile APIs.
See:
http://java.sun.com/javame/reference/apis/jsr219/
Hinkmond
--------------------------------------------------------------------- To unsubscribe, e-mail: advanced-unsubscribe@phoneme.dev.java.net For additional commands, e-mail: advanced-help@phoneme.dev.java.net
|
|
|
|
|