The mission and goals of Mer is amongst others:

Mer is an open, mobile-optimised, core distribution aimed at device
manufacturers; powered by Qt/QML and HTML5 - openly developed,
inclusive, and meritocratically governed.

Provide a mobile device oriented architecture
Primary customers are device vendors - not end-users.

Over time, the traditional mobile device focus has been done mostly as
part of the Nemo Middleware project, with Mer focusing on base system,
with a large overlap in contributor, vendor participation, use and
contributions, even infrastructure.

The barrier between Mer and Nemo Middleware and what goes where has
often been confusing and let to big architectural challenges and
difficulty in contributing to Mer and especially Nemo MW based
projects, with differing methods, bugtrackers, requirements, etc -
despite the overlap of people, bugtrackers, even if they were on the
same infrastructure.

In that sense, it makes sense that we try to remove the artifical gap
between Mer and Nemo Middleware to ensure a productized and working,
tested mobile core distribution.

This is a RFC for Mer vendors, remaining advisory board members and
maintainers, with idea of implementation happening after 1st of May
2014.

We have already begun (a long time ago goal) to try and make Mer
contribution easier, through setting up GitLab and migrating the core
repositories from Gerrit to GitLab, hosted in Mer infrastructure,
authenticated with Mer bugtracker accounts.

In addition to that, we have set up a OBS _service based Mer build in
https://build.merproject.org/project/monitor?project=mer-core%3Ai486%3Adevel
and https://build.merproject.org/project/monitor?project=mer-core%3Adevel

This uses the tar_git web service with option 'dumb' to utilize old
Mer repository formats.

Due to previous inability for Mer to accept contributions and release
sufficiently fast for Mer-based products, a method was devised to make
sure contribution could happen faster, by overlaying Mer with a
faster-moving set of packages, based on git repositories where actual
development happened. The lessons from that has been learnt and were
part of the reason for the GitLab move and _service based mentioned in
the previous three paragraphs. It led to bad situations before that
the factual bleeding edge Mer was not in Mer Gerrit, but in Mer GitHub
repositories.

It is also worth noting that it is easy, and possible to only use a
subset of Mer source packages in vendor builds for specific purposes.
The original thought that Mer vendors would typically use full binary
releases of Mer has been disproven and most uses are using their own
Mer builds, done on own OBSes, and hence it makes more sense to see
Mer as a set of software components that can be combined in different
ways and built in a couple of different configurations for QA.

The intended components to be updated and replacing current versions
in Mer (currently Qt 5.0 based):

* Mobile-productized Qt5.1 packaging and modifications from Nemo's Qt fork:

(Primary maintainer, Robin Burchell/w00t)

https://github.com/mer-packages/qtdocgallery
https://github.com/mer-packages/qtwayland
https://github.com/mer-packages/qtdeclarative
https://github.com/mer-packages/qtsystems
https://github.com/mer-packages/qtbase
https://github.com/mer-packages/qtmultimedia
https://github.com/mer-packages/qtlocation
https://github.com/mer-packages/qtscenegraph-adaptation
https://github.com/mer-packages/qtwebkit5
https://github.com/mer-packages/qttranslations
https://github.com/mer-packages/qtjsbackend
https://github.com/mer-packages/qtsvg
https://github.com/mer-packages/qtquick1
https://github.com/mer-packages/qtsensors
https://github.com/mer-packages/qtxmlpatterns
[some may be missing]

With updated 5.2 packages in a staging project while it gets
productized, https://github.com/mer-qt

* Updated ConnMan 1.23

(Primary maintainer, Lorn Potter/lpotter/ljp)

http://github.com/mer-packages/connman
https://github.com/mer-packages/crda.git
https://github.com/mer-packages/wireless-regdb.git
https://github.com/mer-packages/wpa_supplicant.git
https://github.com/mer-packages/mobile-broadband-provider-info.git (APN list)
https://github.com/nemomobile/libconnman-qt.git (new)
https://github.com/nemomobile/connectionagent.git (new needed for UI
enablement of ConnMan)

* Updated PulseAudio 4.0

(Primary maintainer, Juho Hammilinen/jusa)

http://github.com/mer-packages/pulseaudio
https://github.com/mer-packages/sbc.git
https://github.com/nemomobile/pulseaudio-modules-nemo.git (new)
https://github.com/nemomobile-packages/libcanberra.git (new)

* Updated Systemd to 208

(Primary maintainer, Pekka Lundstroem)

http://github.com/mer-packages/systemd
https://github.com/mer-packages/kmod.git
https://github.com/nemomobile/systemd-user-session-targets.git (new)

* Updated versions of Qt5 ports of Mer middleware such as KCalcore,
Resource framework enablers, Accounts framework, Sensor framework

https://github.com/mer-packages/mkcal
https://github.com/mer-packages/kcalcore
https://github.com/mer-packages/libresource
https://github.com/mer-packages/libresourceqt
https://github.com/nemomobile-packages/signon-plugin-oauth2.git (new)

* BlueZ 4.101,
- includes patches to successfully pass Bluetooth certifications

https://github.com/mer-packages/bluez
https://github.com/nemomobile-packages/openobex.git (new)
https://github.com/nemomobile-packages/bluez-hcidump.git (new)
https://github.com/nemomobile/libbluez-qt.git (new)
https://github.com/nemomobile/obex-capability.git
https://github.com/nemomobile-packages/obexd.git

(Primary maintainer: Hannu Mallat)

Wayland related updates and fixes:

https://github.com/mer-packages/llvm.git
https://github.com/mer-packages/mesa.git
https://github.com/mer-packages/wayland.git
https://github.com/mer-packages/libxkbcommon.git
https://github.com/mer-packages/xkeyboard-config.git

* Project config enablers to make X11-less builds in Mer, which will
be default off (i.e. X11 enabled) in Mer QA builds and general package
updates/build system adjustments:

https://github.com/mer-packages/boardname.git
https://github.com/mer-packages/build-compare.git
https://github.com/mer-packages/busybox.git
https://github.com/mer-packages/cairo.git
https://github.com/mer-packages/gdb.git
https://github.com/mer-packages/giflib.git
https://github.com/mer-packages/glib2.git
https://github.com/mer-packages/gst-plugins-bad-free.git
https://github.com/mer-packages/gst-plugins-base.git
https://github.com/mer-packages/libjpeg-turbo.git
https://github.com/mer-packages/libyaml.git
https://github.com/mer-packages/libzypp.git
https://github.com/mer-packages/openssh.git
https://github.com/mer-packages/pam.git
https://github.com/mer-packages/pango.git
https://github.com/mer-packages/pixman.git
https://github.com/mer-packages/repomd-pattern-builder.git
https://github.com/mer-packages/tzdata.git
https://github.com/mer-packages/upower.git
https://github.com/mer-packages/zlib.git

The intended additional components to be merged into Mer:

* Ruby (minimal)
-- needed for QtWebKit for Qt5 builds.

(Primary maintainer: Islam Amer)

* libsystrace  (for doing easier tracing of Mer/Qt5-based systems)

https://github.com/mer-packages/libsystrace

(Primary maintainer: Robin Burchell/w00t)

Location framework: GeoClue:

https://github.com/nemomobile-packages/geoclue.git

(Primary maintainer: Aaron MacCarthy/amccarthy)

Improvement for image creation and package updates:

https://github.com/nemomobile/oneshot.git

(Primary maintainer: Bernd Wachter/Aard)

Replacement for unmaintained ContextKit, statefs

https://github.com/nemomobile/cor.git
https://github.com/nemomobile-packages/fuse.git
https://github.com/nemomobile/statefs-loader-qt.git
https://github.com/nemomobile/statefs-providers.git
https://github.com/nemomobile/statefs-qt.git
https://github.com/nemomobile/statefs.git

(Primary maintainer: Denis Zalevski/dez)

Utilizing a FUSE based file system for context information:

Audio resource policy system independent bindings and completeness of
Resource Policy implementation before partially in Mer:

https://github.com/nemomobile/libaudioresource-qt.git
https://github.com/nemomobile/libaudioresource.git
https://github.com/nemomobile/libdres-ohm.git
https://github.com/nemomobile-packages/swi-prolog.git
https://github.com/nemomobile/libprolog.git
https://github.com/nemomobile/libtrace-ohm.git
https://github.com/nemomobile/ohm-plugins-misc.git
https://github.com/nemomobile/ohm-rule-engine.git
https://github.com/nemomobile/ohm.git
https://github.com/nemomobile/policy-settings-common.git

(Primary maintainer: Juha Hammalinen/jusa)

Package Management daemon and bindings:

https://github.com/nemomobile-packages/PackageKit-Qt.git
https://github.com/nemomobile-packages/PackageKit.git
https://github.com/nemomobile-packages/polkit-qt-1.git

(Primary maintainer: Thomas Perl)

Synchronization framework: (not obligatory)

https://github.com/nemomobile/buteo-mtp.git
https://github.com/nemomobile/buteo-sync-plugins-google-simple.git
https://github.com/nemomobile/buteo-sync-plugins-google.git
https://github.com/nemomobile/buteo-sync-plugins.git
https://github.com/nemomobile/buteo-syncfw.git
https://github.com/nemomobile/buteo-syncml.git

BTRFS related support: (like e2fsprogs)
https://github.com/nemomobile-packages/btrfs-progs.git

oFono with ability to connect with Android RILD stack and bindings:

https://github.com/nemomobile-packages/ofono (update)
https://github.com/nemomobile/libqofono.git (new)
https://github.com/nemomobile/tone-generator.git (new)

Telepathy framework + oFono telepathy plugin:

https://github.com/nemomobile/telepathy-accounts-signon.git
https://github.com/nemomobile-packages/telepathy-farstream.git
https://github.com/nemomobile-packages/telepathy-gabble.git
https://github.com/nemomobile-packages/telepathy-glib.git
https://github.com/nemomobile-packages/telepathy-mission-control.git
https://github.com/nemomobile-packages/telepathy-qt.git
https://github.com/nemomobile-packages/telepathy-rakia.git
https://github.com/nemomobile/telepathy-ring.git
https://github.com/nemomobile-packages/farstream.git

Device state management:

https://github.com/nemomobile/libiphb.git
https://github.com/nemomobile/dsme.git
https://github.com/nemomobile/libdsme.git
https://github.com/nemomobile/mce-dev.git
https://github.com/nemomobile/mce.git
https://github.com/nemomobile/nemo-keepalive.git

Primary maintainer: Simi Piironen/spiironen

Communication logging and contacts framework:

https://github.com/nemomobile/commhistory-daemon.git
https://github.com/nemomobile/contactsd.git
https://github.com/nemomobile/libcommhistory.git
https://github.com/nemomobile/libcontacts.git
https://github.com/nemomobile/qtcontacts-sqlite.git

SDL2 framework (not obligatory)

https://github.com/nemomobile-packages/libsdl-gfx.git
https://github.com/nemomobile-packages/libsdl-image.git
https://github.com/nemomobile-packages/libsdl-mixer.git
https://github.com/nemomobile-packages/libsdl-net.git
https://github.com/nemomobile-packages/libsdl-sound.git
https://github.com/nemomobile-packages/libsdl-ttf.git
https://github.com/nemomobile-packages/libsdl.git

(Primary maintainer: Thomas Perl)

Application booster - a method to start up Qt (and others)
applications much faster:

https://github.com/nemomobile/mapplauncherd-qt.git
https://github.com/nemomobile/mapplauncherd.git

(Primary Maintainer: John Brooks)

Maliit Input Framework:

https://github.com/nemomobile-packages/maliit-framework.git
https://github.com/nemomobile-packages/maliit-plugins.git

(Primary Maintainer: Pekka Vuorela)

Time daemon (also for synchronization, alarms, timezone changes):

https://github.com/nemomobile/timed.git
https://github.com/nemomobile/tzdata-timed.git

(Primary Maintainer: Petri M. Gerdt)

QML Bindings for common middleware tasks:

https://github.com/nemomobile/mlite.git
https://github.com/nemomobile/nemo-qml-plugin-accounts.git
https://github.com/nemomobile/nemo-qml-plugin-configuration.git
https://github.com/nemomobile/nemo-qml-plugin-connectivity.git
https://github.com/nemomobile/nemo-qml-plugin-contacts.git
https://github.com/nemomobile/nemo-qml-plugin-contextkit.git
https://github.com/nemomobile/nemo-qml-plugin-dbus.git
https://github.com/nemomobile/nemo-qml-plugin-messages.git
https://github.com/nemomobile/nemo-qml-plugin-notifications.git
https://github.com/nemomobile/nemo-qml-plugin-policy.git
https://github.com/nemomobile/nemo-qml-plugin-signon.git
https://github.com/nemomobile/nemo-qml-plugin-social.git
https://github.com/nemomobile/nemo-qml-plugin-systemsettings.git
https://github.com/nemomobile/nemo-qml-plugin-thumbnailer.git
https://github.com/nemomobile/nemo-qml-plugin-time.git

Non-graphical feedback (vibrations, sound, etc) framework:

https://github.com/nemomobile/fftune.git
https://github.com/nemomobile/ngfd.git
https://github.com/nemomobile/qt-mobility-haptics-ffmemless.git [for
Qt5Feedback]
https://github.com/nemomobile/libngf-qt.git
https://github.com/nemomobile/libngf.git

Seamless Software Updates:

https://github.com/nemomobile/ssu.git
- a way to authenticate access to repositories, easier do upgrades
between updates, etc.

Primary maintainer: Bernd Wachter/Aard

Python3 + TheOtherSide bindings for Qt5:

https://github.com/nemomobile-packages/python3.git
https://github.com/nemomobile-packages/pyotherside.git

Primary maintainer: Thomas Perl (thp)

Media indexing framework (optional):
https://github.com/nemomobile/libqtsparql.git
https://github.com/nemomobile-packages/tracker.git
https://github.com/nemomobile/tumbler.git
[and likely a boatload of the dependencies below]

Qt-based script framework and backup framework:

https://github.com/nemomobile/cutes-js.git
https://github.com/nemomobile/cutes.git
https://github.com/nemomobile/the-vault.git

Primary maintainer: Denis Zalevski (dez)

Wayland compositor framework/lipstick:

https://github.com/nemomobile/lipstick.git
https://github.com/nemomobile/eventfeed.git
https://github.com/nemomobile/libcontentaction.git

Primary maintainer: Robin Burchell (w00t)

Transfer management engine:
https://github.com/nemomobile/transfer-engine.git

Media playback and playlist management framework:
https://github.com/nemomobile-packages/grilo-plugins.git
https://github.com/nemomobile-packages/grilo.git
https://github.com/nemomobile-packages/taglib.git
https://github.com/nemomobile-packages/totem-pl-parser.git

Social media framework:
https://github.com/nemomobile/libsailfishkeyprovider.git
https://github.com/nemomobile/libsocialcache.git

User management framework:
https://github.com/nemomobile/password-manager
https://github.com/nemomobile/libshadowutils.git

Framework for building telephony dialers with telepathy(-ring) and oFono:

https://github.com/nemomobile/voicecall.git

Gecko-based browser engine with Qt5 bindings:
https://github.com/nemomobile-packages/embedlite-components.git
https://github.com/nemomobile-packages/gecko-dev.git
https://github.com/nemomobile-packages/yasm.git
https://github.com/nemomobile-packages/qtmozembed.git

USB mode management framework:
https://github.com/nemomobile/usb-moded.git

Primary maintainer: Phillipe De Swert

Additional packages for discussion if they're alive or not and if
other packages above depend on them and if they are not more part of
UI.

https://github.com/nemomobile-packages/aspell-en.git
https://github.com/nemomobile-packages/aspell.git
https://github.com/nemomobile-packages/calligra-extra-cmake-modules.git
https://github.com/nemomobile-packages/enchant.git
https://github.com/nemomobile-packages/exempi.git
https://github.com/nemomobile-packages/fbset.git
https://github.com/nemomobile/fingerterm.git
https://github.com/nemomobile-packages/glib-networking.git
https://github.com/nemomobile-packages/gmime.git
https://github.com/nemomobile-packages/gnome-common.git
https://github.com/nemomobile-packages/gst-plugins-good.git
https://github.com/nemomobile-packages/hunspell.git
https://github.com/nemomobile-packages/iotop.git
https://github.com/nemomobile-packages/libcreds3.git
https://github.com/nemomobile-packages/eigen2.git
https://github.com/nemomobile-packages/libenca.git
https://github.com/nemomobile-packages/libgdata.git
https://github.com/nemomobile-packages/libgee.git
https://github.com/nemomobile-packages/libgsf.git
https://github.com/nemomobile/libiodata.git
https://github.com/nemomobile/libmlocale.git
https://github.com/nemomobile-packages/libnice.git
https://github.com/nemomobile-packages/libopenal.git
https://github.com/nemomobile/libprofile-qt.git
https://github.com/nemomobile/quillmetadata.git
https://github.com/nemomobile-packages/libquvi-scripts.git
https://github.com/nemomobile-packages/libquvi.git
https://github.com/nemomobile-packages/librest.git
https://github.com/nemomobile-packages/libsmack.git
https://github.com/nemomobile-packages/libsoup.git
https://github.com/nemomobile-packages/lsof.git
https://github.com/nemomobile/mapplauncherd-booster-qtcomponents.git
https://github.com/nemomobile/mascara.git
https://github.com/nemomobile/nemo-configs-n950-n9.git
https://github.com/nemomobile/nemo-control-panel-applets.git
https://github.com/nemomobile/nemo-qtmultimedia-plugins.git
https://github.com/nemomobile/nemo-theme-default.git
https://github.com/nemomobile-packages/poppler.git
https://github.com/nemomobile/profiled.git
https://github.com/nemomobile-packages/protobuf.git
https://github.com/nemomobile-packages/python-openssl.git
https://github.com/nemomobile-packages/python-imaging.git
https://github.com/nemomobile-packages/python-twisted.git
https://github.com/nemomobile-packages/python-zope-interface.git
https://github.com/nemomobile/qmsystem.git
https://github.com/nemomobile/qt-components.git
https://github.com/nemomobile-packages/libquazip.git
https://github.com/nemomobile/quillimagefilters.git
https://github.com/nemomobile-packages/recode.git
https://github.com/nemomobile-packages/screen.git
https://github.com/nemomobile/sd-utils.git
https://github.com/nemomobile-packages/smpeg.git
https://github.com/nemomobile-packages/sound-theme-freedesktop.git
https://github.com/nemomobile/tut.git
https://github.com/nemomobile-packages/uthash.git
https://github.com/nemomobile-packages/vala.git
https://github.com/nemomobile/vmtouch.git

If you claim meritocratic maintainership to any of these packages,
please let me know and we'll set up access rights for merging and
review rights accordingily after 1st of May 2014 if proposal holds.
Protesting to the architectural and location move of your component is
perfectly valid to do, as well.

I believe from an architectural and project point of view that this
move will strengthen Mer and related Nemo middleware components as a
open source mobile platform in it's own right and make contribution
and participation easier to understand, explain and do.

With best regards,
Carsten Munk
Mer project architect


Reply via email to