cinderblocks / libremetaverse

An fork of the libopenmetaverse library striving for performance improvements and up-to-date compatibility with Second Life and OpenSimulator (such as it is)
BSD 3-Clause "New" or "Revised" License
61 stars 44 forks source link

Proprietary libraries #70

Closed waleed177 closed 1 month ago

waleed177 commented 2 years ago

Is there no alternative to vivox? It would be best if there is a purely libre solution for voice chat.

github-actions[bot] commented 2 years ago

Thank you for taking the time to improve LibreMetaverse! We will review your contribution shortly.

Madpeterz commented 2 years ago

SecondLife uses vivox, so any alternative would be required to support that and as its a paid for product and closed source (as far as I can tell) its unlikely we will get a alternative.

waleed177 commented 2 years ago

Yes i know that, however there is opensimulator, which someone in the past made a solution for voice chat for it using mumble, but for some reason that is gone, and everyone is using vivox.

GwynethLlewelyn commented 2 years ago

To the best of my knowledge (and memory!), there were several attempts to install/integrate other voice chat systems (not only Mumble, but also a connection to Asterisk) in OpenSimulator, but although they were promising, integration was never perfect — especially when Linden Lab changed the code in the viewer, delegating the voice-handling code to an opaque 'plugin' that runs on a separate application. 'Opaque' in the sense that we, common users, don't have any way to know what code is inside — because that's the bit that contains the proprietary, licensed code for Vivox, which LL is not allowed to distribute, except as an executable.

As such, there is no easy, straightforward way to replace that external plugin with something else. We only know how the viewer communicates with it; and I guess that from Vivox's documentation we can have a reasonable description of what it does; but figuring out how it works would require reverse-engineering of the Vivox protocol — which, in turn, would clearly violate the Vivox licensing terms — and require creating a separate 'Vivox proxy': something that would accept the VoIP streams sent and received by Vivox, and funnel it into something else (such as Asterisk or some other open-source solution, or even commercial alternatives such as Mumble or TeamSpeak).

Instead, third-party viewers have just included the Vivox code for the special free license that Vivox still maintains for the OpenSimulator community. This allows one to use the most common third-party viewers directly with Vivox in OpenSimulator as well.

I would guess that, for the time being, we're sort of stuck to this environment. The best alternative I have seen being discussed (there may be more) is Discord, although, of course, it requires having separate users, or creating users that have exactly the same name as the avatar, or something creative like that.

I've found an interesting discussion about voice alternatives on the OpenSimulator chat logs, as well as a simple LSL script to send notifications to Discord from SL/OpenSim.

There is also an old, generic (not-very-technical) article about using Discord in conjunction with OpenSimulator (as opposed to Skype). Again, this is not really an 'integration' in the sense we're used to with Vivox.

waleed177 commented 2 years ago

discord is not a free alternative (free as in freedom, i.e libre), i have heard of a mumble-based replacement but its now gone. I do not want to run vivox, so mostly just using sl without voice chat or the other two proprietary libraries. I wish linden switches to a libre alternative, even if they do not, it is still useful for opensimulator. also the website for mumble @GwynethLlewelyn is mumble.info and it is libre, and can be used commercially.

cinderblocks commented 2 years ago

I developed a vivox alternative several years ago based on mumble under contract. I believe the code is still out there. Terry Ford would likely be the contact person for that. It needs some fine tuning for sure (there is no ad-hoc, group, or p2p private calling)

waleed177 commented 2 years ago

@cinderblocks how would i contact them? (What are their contact info if you can give that info?). Thank you.

cinderblocks commented 1 month ago

Second Life is planning on moving to WebRTC based solution. This should be fairly easy to implement in the client, even easier to implement server side with the right know how.