▲ 11 ▼ HLS Manifest Parser in Go
This is an Open Source HLS manifest parser written in Go, developed by us at Ingest. We're a brand new video streaming/encoding/storage service and we currently use this package in production.
Register to comment or vote on this story
The repo url is here in case anyone wants a quick link: https://github.com/ingest/manifest . Really nice to see code written in Go like this by companies and released with a permissive open source license.
> Another issue was regarding FFMPEG and m3u8’s open source licenses and dealing with the possibility of a sudden license change.
I'm not quite sure I follow there. Any existing code's license wouldn't be able to be changed. Contributors could agree to let their contributions be licensed under a dual/new/different license going forward but it won't just close up on you. This is also not something that would happen suddenly. FFmpeg has no CLA that do things like copyright assignment so changing the license would require approval from all contributors. Open source licenses is exactly what allows you to reuse, share and build on top of each other's expertise. If you want to develop your own implementation fine, but this argument seems rather weak to me.
Reading that paragraph about licensing it came across as partly concern about GPL and partly about other stuff. GPL3 is more restrictive, and if you're dependent on a library which changes license from say 2->3 you'd have the choice of maintaining your own fork without patches or moving to the new license. Not sure why that would be an issue for them specifically but it's certainly possible it would impact their business, and is a slight concern, even if unlikely.
Often this sort of decision is based on a mix of concerns, and it also sounds like they wanted this core feature to be easier to iterate on quickly and be without dependencies, which I can understand. Quite possibly if the rest of their code is in Go it just felt a nice fit to have this important piece also in Go instead of contributing to a C library which has a different focus.