And how much code have you contributed to FreePBX?
Completely irrelevant.
Zero. Never once have I claimed to have contributed code.
It’s already happening, google “Cloud Repatriation”
That is a gross simplification of the issue with Exchange.
What is happening with Exchange is the new version of it will be subscription. That is, if you want to run it on-prem you pay a subscription fee.
However, it’s dangerous in the extreme to run an older version of Exchange server that is no longer supported by Microsoft with security patches, because Exchange is one of those very few corporate servers that MUST have unfettered access from the Internet for remote clients to access it. So with “traditional perpetual licensing” while it was possible to setup something like an Exchange 2008 R2 server and run it literally forever (a modern day Outlook 2024 can still connect to such a server) the only safe way to do it is to require every single PC, Mac, iphone, Android phone, tablet, etc. that your users may be using to run a VPN into your network because you must completely close off access to such a mailserver from the Internet otherwise it will be broken into in minutes and used as a platform by criminals to send phishing and scams to the rest of the Internet. And that’s completely impractical.
So the upshot is that while the “old” licensing was “perpetual” that was in name only - in actuality you STILL have to periodically buy new versions of Exchange - as well as new versions of “client access licensing” for your new version of Exchange.
Microsoft has not as of yet announced pricing on the subscription version but it’s suspected that it will be set to be equivalent to pricing for Office 365 accounts that are run in the cloud. And it’s also guessed that there will be a point at which the number of users make it less expensive to run Exchange SE on prem than go to 365 accounts.
Note that it is common knowledge that all email in and out of mailboxes on Office 365 servers in the cloud is scanned by Microsoft for marketing data which they then sell out the back end. Needless to say it’s also common knowledge that Law Enforcement and various government agencies do not need to get subpoenas when they want access to user 365 mailboxes, they just ask Microsoft and are given it. If you as an org are perfectly happy with having your data available for scanning by the Elon Musks of the world, then give up your on premise Exchange server and bend over and let everyone and their dog up in your business (well, bend over and let Microsoft let everyone and their dog up in your business) without your knowledge.
The large Fortune 500 orgs know this, even if the small fry Ma and Pa Kettle companies don’t believe it, and have told Microsoft in no uncertain terms if you get rid of on-premise Exchange we will switch our stuff over to Linux mailservers. Outlook already supports IMAP and there’s a 3rd party commercial product that is not much money that interfaces CalDAV and CardDAV servers (like Radicale) directly to Outlook’s contacts and calendaring. Which is why Microsoft will NEVER get rid of on-premise Exchange, nor will they ever be able to raise prices on it to the stratosphere, since the free Linux alternative (postfix/dovecot/radicale) can be used to emulate an Exchange server for Outlook clients. So don’t worry about that happening.
The issue with Cloud is that it only makes any cost sense when you have a cloud provider that collects up a large number of “Ma and Pa Kettle” small fry companies - we are talking 50 seats and below - and puts them on a shared infrastructure. The reason is that the overhead for running a solid server is basically fixed, and that fixed cost has to be spread over your users.
So a $10k server platform and infrastructure is $1000 per user for a 10 person company. However, it’s only $33 per user for a 300 person company. Now you see why the small fry are going to the cloud - even at the current extortion pricing of Office 365 - it’s cheaper for a small 10 person company to do it. And that’s not even discussing the cost of skilled labor to setup that $10k server platform, which a 10 person company likely cannot afford, anyway.
But the large orgs have so many more users to spread the infrastructure and skilled labor cost over that it makes less financial sense the larger they get. Maybe if they are, for example, a hotel, where they don’t need to provide IT infrastructure for their guests other than throw a cheap crappy wifi AP in the room and a phone - that might fly. But not if they are a full blown company that needs IT staff to support user PCs and applications.
Well then if you have made any modifications to Asterisk or FreePBX you are in violation of the GPL. And your statement completely illustrates my earlier point anyway.
For a FOSS project like Asterisk and FreePBX to survive, even be built at all, it depends on user-contributed code.
When you have 500 organizations out there running on-prem individual PBXes - while MOST of them will get by with the code in the repo - some won’t. They will have to modify it. And they will of course want their mods included in the repo so that when the maintainer makes changes they won’t have to mod their code for the changes.
This is why it was so criminal that the usecallmanager patch was never included in the original chan_sip driver. Of course, that’s now a different issue since chan_sip was forked off by one developer and usecallmanager is run by another - both of whom apparently hate each other’s guts since they have no qualms about baldfaced lying that their stuff is incompatible with the others - which is untrue. But when chan_sip was still part of Asterisk the usecallmanager patch SHOULD have been accepted into it, really without comment. It does not affect non-Cisco phones so it’s completely neutral to everyone else’s phones, and it does something that’s not possible to do outside of the channel driver, due to the peculiarities of the enterprise firmware in the Cisco phones.
But setting that aside there’s been PLENTY of patches accepted into Asterisk and FreePBX from the community.
SO what happens when you go from 500 customers, 2% of who are contributing their patches back to the Asterisk and FreePBX codebase, and maybe 10% of them who are actually providing valuable beta testing - to YOUR company? (I’m assuming you have around 500 customers)
Well, YOU have already (apparently proudly) stated you haven’t contributed a drop of code.
So now, instead of 10 people in that former group of 500 on prem customers contributing code - we now have 0 people. And, worse, the 2 customers in this forum - you and Blaze studios - are apparently PROUD you have never contributed a single patch back to this code base you are using to make money off of.
I have used FreePBX for the last decade for my single person consultancy. I haven’t contributed code - but I’ve contributed how-to’s such as my chan_sccp howto, and so on, and helped users. And now, that I shut down that single person consultancy and am working for a large org - I am in fact considering use of FreePBX in that org. And I will NOT blink if and when I have to sign off on a $10k consulting fee to some software developer to mod Asterisk or FreePBX if we need mods to it - and I will of course insist that those mods are fed back to the Asterisk / FreePBX maintainers so that everyone can enjoy and use them.
MY conscience is clear. Yours, I have to really wonder about. How are YOU contributing to the project other than pot-shotting me and making rediculous claims that a project like Asterisk and FreePBX can exist in a vacuum without community code contributions?
Yoru customers who are using their PBXes in your cloud must certainly at times have need of specific customizations in your FreePBX server you are running in the cloud. So how exactly are YOU handling this? Are you just blowing them off and saying it can’t be done? Are you paying a software dev to write that code then sitting on it like a grinch and not sharing it back to the project, in violation of the license? I certainly regard you selling access to your cloud PBX as redistribution even if you don’t.
This is precisely how FOSS projects die. The contrast to the attitude here and on the Asterisk forums is absolutely stark in comparison to projects like for example OpenWRT. With OpenWRT when someone wants a port of OpenWRT to a new device, they may ask - but many of them DO IT. Then that gets contributed back to the OpenWRT maintainers - and poof - support for a new device is born. And MANY of them are on “subscription-based” devices like Luma, Meraki, Mojo Networks, and so on. Which of course blows a hole in an evil manufacturer who thinks they can blackmail someone by “selling” them a device that then ceases to work once the yearly blackmail fee is no longer paid.
But here - here we have individuals who are PROUD to NOT contribute code, or even how-tos on border case uses of Asterisk and FreePBX.
If you really want to know WHY projects like FreePBX and Asterisk are courting stuff like turning their FOSS distros into limited version that “sell” a commercial version that’s more full featured - look in the mirror.
Oh, and I can see that you are now embarrassed and I’ve struck a nerve since your reaction is to try to suppress my post. Go ahead and do that to this one too it just makes me look right and you look wrong.
I think you need to stop making baseless assumptions and accusations. That CC image on my icon means Community Coder. I have, in fact, submitted code to this project.
Again, another baseless accusation. You cannot tell who flagged your post. I know for a fact I didn’t flag them.
Please, reign it in.
Nonsense. The license does not require contribution of modified code back to the original.
I guess you have never read the GPL or comprehend it if you have. The GPL does not ever require you to submit your changes back. It actually only requires someone to provide the source on request to anyone you redistribute your changes to.
So if you are using your changes in your own system or you are making changes for a customer who has requested you to make the change on their behalf, the change has not been redistributed so you are not even required to make your changes be GPL. Your changes only have to be made GPL once you redistribute it to someone else and again the source only needs to be provided on request of someone who has received the changes.
Lastly GPL only covers where you provide them the code. Let’s say you are doing hosted system and making changes, in that setup you have never distributed your changes so your changes do not even have to be GPL.
Tony, if you do it this way then every time the source distro changes YOU have to update your changes. The source developers are also free to completely change large code blocks or stomp on variable names you may use or change their logic flows that cause your patches to become intermittent or nonfunctional - because they don’t know what you have done, because you have been sitting on it like a hen trying to hatch an egg and you didn’t feed it into the source distro.
It’s a pretty costly proposition unless of course, your goal is to use 1 version of the FOSS project and essentially privately fork it - which then means “your customers” never get the benefits of new features and additions that the code maintainers make since “your” version is now locked to that version and every year gets older and older and older. Poor customer service, basically.
And if they are spinning up individualized private virtual PBXes for each new customer - then that is, effectively, redistributing. It’s not source redistribution so you may meet the letter of the GPL but it’s binary distribution and RMS has made it clear it violates the spirit of the GPL - which is I believe why he has continued to release newer versions of the GPL to close these loopholes.
And it merely proves my original point - which is that moving large numbers of on-premise customers to the cloud, tends to act to reduce code contributions to the project as ability to make changes is now centralized in the hands of a small number of cloud providers who may regard their additions as a way of getting a leg up on the competition.
Of course, your welcome to provide other reasons that source contributions to Asterisk and FreePBX have dropped off. I am sure there are others. But I am pretty sure that centralizing into the Cloud acts as a strong disincentive to contributing advancements back to the source distribution. It may not be the strongest and I’d welcome more ideas from you on this - but I think that it’s a LOT stronger than cloud providers would like you to believe.
Speaking from an Asterisk perspective I see a few reasons.
At the beginning of projects things are more fun because stuff hasn’t been done yet and in general you can move fast and break things. This draws people because there’s lots of to do and the consequences of issues aren’t as huge yet. As a project becomes more and more developed and increases its user base there’s less to do and the user base demands more stability. Things are also more understood and there’s less fun in figuring them out. This also goes for VoIP in general. The woes of SIP are now understood by developers.
We instituted code review and testing. This increases the barrier to contribution of code because you can’t just throw a change into the tree. Through review you may need to do more to see it included, even if the change works for you. Personally I would never go back to the wild wild west before this, because now with the project I can take vacation or put my laptop away and not worry.
Ultimately this decision falls to me, so I take responsibility for it, but I’m more selective about what is included. When a change is merged the responsibility becomes that of the project - not a person. Accepting everything puts a large burden on everyone involved and may not be worth it. This resonates with me greatly: The reality of long-term software maintenance - Ashley's blog
We’ve also made the decision to make a lot more things possible outside of Asterisk so that Asterisk doesn’t have to be changed or modified through ARI. We can harden those interfaces and extend them and developers can do what they need in a language of their choice. It’s also easier to hire for people developing using it.
More thoughts may come to me eventually on the topic.
Do you understand how cloud providers actually work? Cloud providers are providing you with just the VM instance. They don’t support the OS you install nor any of the applications you install. They aren’t sitting there making code changes to something like FreePBX because it would get them a leg up on anything. They aren’t there to be FreePBX providers.
Code contribution, for any project, has no direct relationship to a system being on-premises or in the cloud. Someone could have an on-premises system and never contribute an ounce of code (like you). However, the person with a system in the cloud is kicking back code here and there to the project (like most of us who have).
You keep putting this priority or weight on on-premises systems like they add more value to a project over all. That simply is just not the case.
Again, not the case. Where are you getting this data from?