Giter VIP home page Giter VIP logo

Comments (21)

chmorgan avatar chmorgan commented on May 26, 2024 1

@enclave-alistair sounds good! @PhyxionNL you good with MPL here and SharpPcap (not sure if you've contributed there?)? If so I'll initiate emails to the largest contributors and start the process.

from packetnet.

PhyxionNL avatar PhyxionNL commented on May 26, 2024

For .NET Core 3.x this is a bit of a gray area as it unpacks all files to a temporary folder and runs it from there (in which you can replace the DLL). In .NET 5.0 this no longer happens so that would likely be a violation of the license.

I have made some comments to move this library to Apache 2.0: #103 (comment), but for now it seems as-is.

from packetnet.

enclave-alistair avatar enclave-alistair commented on May 26, 2024

Ok, thanks @PhyxionNL. So the thinking is that we're OK until we migrate to .NET 5? That was one of the things at the front of my mind, because as you say, all the assemblies are extracted in-memory in .NET 5.

from packetnet.

chmorgan avatar chmorgan commented on May 26, 2024

@enclave-alistair the intent is that PacketDotNet, and SharpPcap, can be used for commercial purposes and that commercial users are required by the license to distribute code improvements. This was born out of my own use of the libraries for commercial products.

Imo this seemed like a fair approach.

With .net 5.0 this doesn't appear to be compatible but I'd like to say that this is entirely a mistake on the part of the license, it was never intended to protect against swapping the library out for a new rev. That's a nice feature of the license but the intent is entirely to both let companies use the library and to encourage them to contribute their changes back. I never considered this issue as .net didn't have a way to do this single file approach until now (and I had no idea about it until you mentioned it above.)

@enclave-alistair is there a license that you are aware of that continues the spirit of commercial use and requires contributing back in the case of changes but otherwise allows for bundling into a single executable?

from packetnet.

chmorgan avatar chmorgan commented on May 26, 2024

@PhyxionNL apache could be an option. I do like to be a bit more firm with the idea that you get these thousands of hours of improvements back, we'd really like you to contribute your fixes and improvements back. Again, whatever we do has to go with the .net ecosystem. It would be dumb for example to have LGPL for a golang module because go almost entirely builds single executable applications (unless you intentionally flag otherwise). It's the same here, we've just been caught behind because I'm not keeping up on .net innovations. We need to resolve this in the near future.

from packetnet.

PhyxionNL avatar PhyxionNL commented on May 26, 2024

Yes, sharing back is certainly useful. That doesn't mean that projects with MIT/Apache have no contributions through. I think the preferred way is to keep stuff in the original package rather than maintaining thousands of forks. I think a license between Apache 2.0 and LGPL is MPL 2.0, but INAL and might be wrong about this:
https://en.wikipedia.org/wiki/Comparison_of_free_and_open-source_software_licences
https://choosealicense.com/licenses/

from packetnet.

chmorgan avatar chmorgan commented on May 26, 2024

@enclave-alistair does MPL look suitable to you?

@PhyxionNL yeah MPL appears to relax that static linking requirement. You and I are likely the largest copyright holders and of course we'll need signoff from anyone we can get in touch with if we'd like to change the license. If we can agree on a change I'll kick off the signoff process at that time.

from packetnet.

enclave-alistair avatar enclave-alistair commented on May 26, 2024

Thanks for the quick reply @chmorgan; I can imagine that 10 years ago proper single-file deployment was barely a glint in the eye of the .NET team! So the LGPL makes total sense until we come up against this wall.

The MPL looks fine to me, but basically any license you choose that works for you in terms of encouraging contribution back, and allows us to distribute the PacketDotNet binary in it's unmodified (from NuGet) form in a single-file-deployment, with proper attribution to your project, will be just fine.

from packetnet.

PhyxionNL avatar PhyxionNL commented on May 26, 2024

Yeah, sounds good to me. I don't use SharpPcap and haven't contributed there.

from packetnet.

PhyxionNL avatar PhyxionNL commented on May 26, 2024

@chmorgan Can you start that? πŸ‘

from packetnet.

chmorgan avatar chmorgan commented on May 26, 2024

from packetnet.

PhyxionNL avatar PhyxionNL commented on May 26, 2024

.NET Core 3.x just unpacked everything into a folder, which you could easily replace, but that doesn't happen in .NET 5 anymore. It's not just a simple replacement anymore and you need to make some considerable changes as they're baked into the executable. Even if you place a library inside the executing folder, it won't pick it up:

The probe ordering will be in the order (https://github.com/dotnet/designs/blob/main/accepted/2020/single-file/design.md#dependency-resolution):

Servicing location
The single-file bundle
App directory
Framework directory(s) from higher to lower
Shared store
Additional specified probing paths.`

--> The best way forward is to change to MPL. There should only be a limited number of contributors to ask for this.

from packetnet.

chmorgan avatar chmorgan commented on May 26, 2024

from packetnet.

PhyxionNL avatar PhyxionNL commented on May 26, 2024

Gotcha. Imo not easy isn’t the same as not possible. Can we fairly say it’s possible now, with difficulty, so we can unblock the earlier user asking for compatibility while we consider or work on relicensing?

Not unless you modify the application itself, which is a gray area and I do not think that would match with the license either.

from packetnet.

chmorgan avatar chmorgan commented on May 26, 2024

Alright. Let me send out the email to get things kicked off!

from packetnet.

PhyxionNL avatar PhyxionNL commented on May 26, 2024

@chmorgan I've not received an email yet, or did you skip me? πŸ‘

from packetnet.

chmorgan avatar chmorgan commented on May 26, 2024

from packetnet.

PhyxionNL avatar PhyxionNL commented on May 26, 2024

Ah, alright, no need, how is progress? Most contributors here (https://github.com/chmorgan/packetnet/graphs/contributors) seem trivial changes only.

from packetnet.

chmorgan avatar chmorgan commented on May 26, 2024

Looks like everyone has approved. Let me put together a pull request for the change in license.

from packetnet.

PhyxionNL avatar PhyxionNL commented on May 26, 2024

Closing, is done now πŸ‘

from packetnet.

enclave-marc-barry avatar enclave-marc-barry commented on May 26, 2024

Thanks all πŸ‘

from packetnet.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.