On 3/2/22 05:14, Pepijn Noltes wrote:
Welcome Peng :)
On Tue, Mar 1, 2022 at 10:10 PM Roy Lenferink<[email protected]> wrote:
Hi All,
The Project Management Committee (PMC) for Apache Celix
has invited Peng Zheng to become a committer and we are pleased
to announce that he has accepted.
Being a committer enables easier contribution to the
project since there is no need to go via the patch
submission process. This should enable better productivity.
Yours,
The Apache Celix PMC
Thanks for accepting me as part of this friendly community.
I'm so happy that I actually searched the mailing list to find out what
committers said when they were first introduced to the community.
Finally I decided to follow Pepijn's example to give an introduction of
myself.
I worked as a embedded linux developer since 2011, doing various low
level user space stuff, including (ordered in timeline):
* device discovery (Upnp/bonjour, and you may find me here:
https://github.com/pupnp)
* multimedia streaming (WebRTC/RTSP/RTP) container(MPEG TS/PS/MP4/AVI)
* design an in-device event processing framework, in which events from
various AI engines/sensors (or other data sources) pass processing
pipelines (consisting of various filters) with various
cloud/platform as data sinks.
It's the last experience that draws my attention to CBD (component based
development).
IMO, CBD is not only about component framework, but also about
development process.
Celix, as a component framework, shines at managing run-time dependency,
with conan/vcpkg+cmake filling the gap between JAVA and C/C++ in build
dependency management.
Thanks to OSGi's minimal nature, Celix is lightweight compared to other
already successful component frameworks (yes, I'm actually criticizing
Android Native Runtime 😉).
My goal is to introduce Celix-based CBD into my day job. To that end, I
need to:
1. make the framework as rock-solid as possible
After fixing issues of service layer in my lists, I plan to move on
to the module layer.
2. integrate Celix with a C/C++ packager manager and figure out a work flow
3. make Celix more "battery included", of course, these battery should
be in the form of addendum service.
The first one coming to my mind is ConfigAdmin, since frequently
changing service API due to configuration change is too expensive
from the point view of API management.
4. make IPC (RPC and PubSub) more competitive in performance (here I
cannot help targeting Android again), exploring the possibilities of
utilizing various zero-copy technologies (for linux,
shmem/in-kernel-binder/bus1/kdbus).
This one has lots of uncertainties, and I'm not sure how long it
will take.
Special thanks to Pepijn for his patient mentoring, eagle-eyed code
reviews, and helpful discussions so far.
Disclosure: I have not written a single line of JAVA code.
To better understand Celix, I read OSGi specifications and two books
(OSGi in action/depth).
To figure out specification specifics, I read some Felix source code and
learn JAVA by the way (reading Java in A Nutshell).
To me, JAVA is a treasure of successful engineering practice and design
patterns. That's all my JAVA background.
If I'm seriously wrong, please don't hesitate to give your criticism.
Regards,
--
Peng Zheng