View Single Post
Posts: 839 | Thanked: 3,386 times | Joined on Mar 2009
#42
I checked what code says and these are my findings:

Many years ago (maybe 2002) there was a project called 'Roadmap' [1]. Then it was forked and new project is called "Freemap Israel" [2], which is then renamed to Waze.

*Roadmap is GPL2, so every fork of it, is also under GPL2.
*Roadmap is not dead. There were no new releases, but source code have changes on Spring 2011.

It seems to me that those branches (Roadmap and Waze) have diverged, and currently nobody is not interested in to merge them back together (nothing evidence found in public).

They both have separated 'engine' (called libroadmap) and different GUI's. Waze has (for some reason) splitted different GUI's under different source packages (not handy). Waze has dropped (means Roadmap have them) several GUI's: gtk2, qt and qt4. Both have iPhone and Android support. Roadmap do not have Symbian.
(Waze doesn't have source code revision management and it's source dumps do not contain documentation)

******
Roadmap: Svn head (most recent code) can be compiled for Ubuntu and Maemo5 (gtk2). (Not tested install or run it).

*****
Waze
Sourcecode for version 2.2.0.0 (tagged 'iPhone')
Code:
wget http://s3-eu-west-1.amazonaws.com/wa...rc_2.2.0.0.zip
unzip waze_iphone_src_2.2.0.0.zip
cd waze_iphone_src_2.2.0.0/
One patch
ogl/glu/glu.h
Code:
-#error "Platform not recognized"
+#include <GL/gl.h>
Code:
RENDERING=OPENGL SSD=YES make
(SSD=Small Screen Device)
And you will get files: libguiroadmap.a libroadmap.a, but they can't be used anything useful without GUI-part.


Compiling for Maemo5: Makefile contains several 'elses', which are not supported by current make on scratchbox.
And it also needs code for GUI.



General issues with Waze code
*Several files contains same named function: e.g.
static void roadmap_address_done
(This is legal, but hard to follow)

And if you are trying without SSD, these must be fixed:
* Wrong number of parameters (should be three): roadmap_address.c:127 roadmap_address_done (selected, data);
* Wrong number of parameters (should be five):
roadmap_address.c:326 roadmap_street_search

******
Project qwazer [4] has totally different approach, it is using (direct) API [5] from waze.com.
*****

So, is this fund raising well defined? Strictly reading 'to port waze' means "write GUI-part for waze". I do not know, but do Android, Symbian,Win, iPhone version have same buttons etc, or what Maemo GUI should have? (What means 'fully working'?) Are these all GL/GLES accelerated and is this needed for Maemo? Is it enough that it works once, or should it be good enough that code is merged to official Waze code? (I do not know is this even possible, or why all or some 'working' GUI's from Roadmap are not merged to the Waze?)
(And is this all about maemo5, not maemo4?)


Have somebody took this challenge already?

*****
[1] http://roadmap.sourceforge.net/
[2] http://www.freemap.co.il/
[3] http://www.waze.com/
[4] http://talk.maemo.org/showthread.php?p=1019715
[5] http://www.waze.co.il/dev/documentation/