Hi Greg,

I’m sorry that this caused any confusion. There was nothing malicious behind 
it. .smff is just a private internal format we created for internal purposes. 
It should not have been visible in the Linphone app, as it cannot be read by 
third party software —this was a mistake, and we’ll restore the previous 
behaviour soon.

Thanks for your understanding!

>  You say you don't have "open core" but you do offer proprietary
>  licenses.  I would assume that you mean you sell the right for
>  customers to create proprietary derived works, but do not provide them
>  with extra proprietary code.  (Perhaps you help them make their
>  modifications e.g. white labeling, if that's distinct from having
>  withheld changes made available to multiple proprietary customers).
>  Is that correct?
I can confirm again that we do not have an open-core model: all of our source 
code is 100% open source. We do not keep any part of our telephony and unified 
communications solutions closed.

Your right: for customers who wish to integrate our source code into a 
closed-source application (which is not allowed under GPL licenses), we offer 
proprietary licenses. However, the source code itself is exactly the same—there 
is only one Linphone version, the open-source version.

This is the same dual-license model used by frameworks such as Qt. It is very 
different from an open-core model, where some parts are open-source and others 
remain closed-source.

Even for customers who purchase a proprietary license to integrate our 
technology into a closed-source app, any development funded by those customers 
that is made by our team is contributed under the open-source license. This 
dual-license model is very effective: it helps finance new features and 
improvements that benefit the open-source and free end-user community.

Currently, most of our revenue (about 75%) comes from support contracts, though.

A couple of years ago, we gave a talk at the OW2 Conference in English, 
presenting our different revenue streams with an idea on transparency and 
sharing. If you’re interested, the talk is available here: 
https://www.youtube.com/watch?v=RiF4kKb1tJo

Please feel free to reach out if you have any other questions about our 
business model :-)

Have a nice day,

Elisa NECTOUX
Sales & Marketing Manager

Belledonne Communications, the company behind the Linphone project
www.linphone.org <http://www.linphone.org/>




> Le 27 oct. 2025 à 14:03, Greg Troxel <[email protected]> a écrit :
> 
> Elisa Nectoux <[email protected]> writes:
> 
>> What do you mean by « this is not open source »? The source code of
>> Linphone and of all the software we’re developing at Belledonne
>> Communications is 100% open source (we do not have an open core
>> model).
> 
> Some clarification would be helpful here.  The basic issue is that the
> Free Software community is uncomfortable, or rather that the situation
> makes reasonable people uncomfortable.
> 
> I think people are concerned because .smff is a file extension (and thus
> presumed format), and when searching about it, people in general (and me
> in particular) don't seem to find anything about it on the web.  No
> documentation, no libraries, no mention in wikpedia:
>  https://en.wikipedia.org/wiki/List_of_file_formats
> 
> Reading git history at
>  https://gitlab.linphone.org/BC/public/linphone-desktop
> I get the impression that the files are really Matroska, normally .mkv,
> but were relabeled as .smff for no apparent reason, or at least no
> reason that was present in the commit message or added as a comment.
> And then just last week there was a commit that had at least 9 unrelated
> changes.
> 
> 
> My questions are thus:
> 
>  Is smff purely an additional nonstandard/unusual label for mkv, so
>  that people with a recording foo.smff can just rename to foo.mkv, and
>  then they are usable with standard tools?
> 
>  What is the larger situation with smff?  Is the assertion that it is a
>  Belledonne-only thing valid?  Why was it created?  What Free software
>  deals with it?
> 
>  What was the rationale for changing mkv to smff in the source code in
>  February of 2025?
> 
>  You say you don't have "open core" but you do offer proprietary
>  licenses.  I would assume that you mean you sell the right for
>  customers to create proprietary derived works, but do not provide them
>  with extra proprietary code.  (Perhaps you help them make their
>  modifications e.g. white labeling, if that's distinct from having
>  withheld changes made available to multiple proprietary customers).
>  Is that correct?
> 
> 
>  What is really going on with the sources?  It is irregular and very
>  unusual to have commits with many unrelated changes from a software
>  engineering viewpoint, and that suggests that the public-facing
>  repository isn't the real repository, that there is an authoritative
>  repository someplace else, and that this is some kind of squash
>  commit.  But if linphone is "100% open source" then this sort of
>  scheme doesn't make any sense.  It is a barrier to contributor,
>  discouraging people from participating.
> 
> 
> 
> 
> commit afbf8c1fa4f09affe770475d735555e47c68b237
> Author: Julien Wadel <[email protected]>
> Date:   Tue Feb 4 11:50:37 2025 +0100
> 
>    Change mkv into smff ("Simple Media File Format" which is the Standard 
> Matroska file format that supports video, .mkv or .mka file extension)
> 
> diff --git a/Linphone/model/call/CallModel.cpp 
> b/Linphone/model/call/CallModel.cpp
> index 973e01f13..5d46105a7 100644
> --- a/Linphone/model/call/CallModel.cpp
> +++ b/Linphone/model/call/CallModel.cpp
> @@ -55,7 +55,7 @@ void CallModel::accept(bool withVideo) {
>       params->setRecordFile(
>           Paths::getCapturesDirPath()
>               
> .append(Utils::generateSavedFilename(QString::fromStdString(mMonitor->getToAddress()->getUsername()),
>  ""))
> -             .append(".mkv")
> +             .append(".smff")
>               .toStdString());
>       // Answer with local call address.
>       auto localAddress = mMonitor->getCallLog()->getLocalAddress();
> diff --git a/Linphone/model/tool/ToolModel.cpp 
> b/Linphone/model/tool/ToolModel.cpp
> index 60666afa3..d4215676f 100644
> --- a/Linphone/model/tool/ToolModel.cpp
> +++ b/Linphone/model/tool/ToolModel.cpp
> @@ -177,7 +177,7 @@ bool ToolModel::createCall(const QString &sipAddress,
>               params->setRecordFile(
>                   Paths::getCapturesDirPath()
>                       
> .append(Utils::generateSavedFilename(QString::fromStdString(address->getUsername()),
>  ""))
> -                     .append(".mkv")
> +                     .append(".smff")
>                       .toStdString());
>       }
> 
> 
> 
> 
> 
> commit 97b1d11adb8449e6061c52144d59739b7f2c7de2
> Author: Gaelle Braud <[email protected]>
> Date:   Tue Oct 14 12:42:53 2025 +0200
> 
>    Fixes:
> 
>    improve unencrypted conversations warning indicator #LINQT-2061
> 
>    allow user to choose an address for sending message when multiple 
> addresses in contact #LINQT-2054
> 
>    verify friend has a core to avoid crash in liblinphone #LINQT-1933
> 
>    wait for window to be active before calling markAsRead (fix #LINQT-2048)
> 
>    fix button text color (fix #LINQT-1832)
> 
>    change format for mkv #LINQT-2056
> 
>    Registration : check phone number format #LINQT-2044
> 
>    fix window closing even if a new call is started #LINQT-2055
> 
>    display popup to delete meetings on right click in meeting list item 
> (allow to delete canceled meetings which cannot be displayed in the right 
> panel)

_______________________________________________
Linphone-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/linphone-users

Reply via email to