ejabberd icon indicating copy to clipboard operation
ejabberd copied to clipboard

1. Request to open source features (such as FCM and APNS push, mobile support, etc) in SaaS and Business Edition that have passed the keep private agreement deadline. 2. Request for making SaaS for SMEs and hobbyists. 3. Request for open sourcing features in sync with the current generation of Internet and devices..

Open ArtemisPseudo opened this issue 4 years ago • 8 comments

Before creating a ticket, please consider if this should fit the discussion forum better: https://github.com/processone/ejabberd/discussions

Topic:

  1. Request to open source features (such as FCM and APNS push, mobile support, etc) in SaaS and Business Edition that have passed the keep private agreement deadline.
  2. Request for making SaaS for SMEs and hobbyists.
  3. Request for open sourcing features in sync with the current generation of Internet and devices.

Is your feature request related to a problem? Please describe.

  1. Ejabberd is a great open source cum private model and server. Unfortunately several features such as FCM and APNS push notifications, mobile support, S3 storage that were made part of the business edition do not seem to have been made open source despite the promise of making things open source from the business edition once the agreement period with the client/ owner of code has expired (generally 6 month or 1 year). There are features as old as 2 years 7 months (S3 and minio support), 1 years and 8 months (APNs and EPNS) that probably should have been open sourced by now.

  2. It is kind of frustrating that in today's era of mobile+web, one is forced to make only web applications using ejabberd. In today's cloud native world shouldn't there be features for cloud data store (S3, RDS, MySQL, Azure backed MySQL, minio, Firestore). There should be facility for users to have multiple devices and sync across them

It is frustrating that the open source project is still in the 2012s of the world while the world has proceeded to 2021 with cloud, mobile, multidevice chat.

If ejabberd is able to make such features via plugin or modules, I am sure it will become an even stronger server than what it is today.

  1. What is even more frustrating is that while it has been committed that these features from business editon will be made open source, these are not being done. Instead people are being told we will not support this since you are making your own system out of it? Then what is the purpose of making anything open source? Isn't it the entire charm of open source that anyone can use the code, make modifications, contribute, fire up a server and intergrate with their own projects. Also is it not that the logic why these projects were made was to protect from centralized communication systems that can be clamped down on by autocratic or dictatorial governments by letting everyone start their own server and communicate. As someone who is planning to contribute to open source as a junior developer, the entire charm of open source and freedom and coding evaporates if projects stop becoming open source as time proceeds. So I request that please open features as the agreements expire.

  2. Many people seem to have requested these features but there hasn't been much of open sourcing of these features.

  3. The SaaS offering is too expensively priced for SMEs and hobbyists. I am sure that if ejabberd were to have price slabs and competitive pricings it could service the needs of many and earn revenue for the project (processone and ejabberd). The added revenue can further fund process one and ejabberd.

Describe the solution you'd like

  1. Making open source features from business edition once the agreement period expires
  2. Competitively pricing fluux SaaS for SMEs and hobbyists.
  3. Offering features relevant to today's mobile+ cloud + iot world.

Describe alternatives you've considered Epns for fcm and apns is a good module. It could probably be incorporated.

Not sure about mobile relevant features.

Additional context Add any other context or screenshots about the feature request here.

ArtemisPseudo avatar Jun 20 '21 16:06 ArtemisPseudo

Please stop opening random issues about features already available.

You can make client apps in any language or platform, if they don't exist already.

/close this as not an issue

licaon-kter avatar Jun 20 '21 17:06 licaon-kter

/close as duplicate https://github.com/processone/ejabberd-contrib/issues/304#issuecomment-864425928

licaon-kter avatar Jun 20 '21 17:06 licaon-kter

I didn't know sorry. I thought it did not exist as I searched for quite some time.

Requesting for-

A. S3 and Minio support for business edition from 2018 article and those for mobile as below being made public.

XEP-0033 | Extended Stanza Addressing | To send messages to multiple recepients, like email's to:, cc: and bcc: lists RFC-5766 | Traversal Using Relays around NAT (TURN) P1-Spec | Acknowledgements and replay P1-Spec | End-to-end traceability P1-Spec | Multi-device and archiving

B. SaaS offering for hobbyists, SMEs

ArtemisPseudo avatar Jun 20 '21 17:06 ArtemisPseudo

The duplicate issue has solved some problems thanks Licaon-kter.

Could you answer about the remaining queries in previous comment.

Sorry if this is not the right forum to ask the questions, where should I ask? Thanks in advance

ArtemisPseudo avatar Jun 20 '21 17:06 ArtemisPseudo

Sorry if my query had initially come out wrong

ArtemisPseudo avatar Jun 20 '21 17:06 ArtemisPseudo

You have usecase for 33 and 5766? Which?

licaon-kter avatar Jun 20 '21 18:06 licaon-kter

33 I thought is needed but apparently carbon copy solves it. Wanted to enquire,

  1. does carbon copy ensure that if one device is offline, it eventually receives it? Or does it mark received if atleast one device receives it?

  2. Does FCM push data when device is offline and if device is online then data is received by client side server? Or when device is online then also FCM? Which is a better way to go?

  3. 5766- Many of my users will be behind different corporate firewalls while using web and mobile. Hence thinking I might need turn server. My primary use case is chat and file sharing (use case 1). Will eventually enable video and voice chat too (use case 2) How will it work for use case 1 and in a separate case for use case 2

Chat graph is going to be bipartite and sparse.

Also, this- P1-Spec | Acknowledgements and replay P1-Spec | End-to-end traceability P1-Spec | Multi-device and archiving

Is there a way to get this done? Can it be added in open source. Mobile and multidevice is kind of standard in today's world. I am sure this feature must be old enough.

What is a better avenue to ask queries next time?

ArtemisPseudo avatar Jun 21 '21 13:06 ArtemisPseudo

  1. Yes
  2. Dunno, ask Google about their close source FCM service. Also, keep is mind that device OEMs can and do ignore push messages in the name of "battery optimisations", eg. See https://dontkillmyapp.com

Dunno where you get P1-Spec things but maybe you need to contact Process-One directly about things that might be in the Bussiness Edition only.

Again, XMPP works fine on mobile devices, try to use existing mobile clients and test.

  1. See XEP-0368, I think you mixed usecases for TURN. It's used for Audio/Video calls around the ecosystem though.

licaon-kter avatar Jun 21 '21 15:06 licaon-kter

@ArtemisPseudo: Can you test it?

  • https://github.com/processone/ejabberd-contrib/pull/314

Neustradamus avatar Jan 07 '23 19:01 Neustradamus