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

Reply via email to