Problem/Motivation

I'm not sure if this is a big deal or not, but the Service Container has two MIT licensed libraries in the repository: DependencyInjection and HttpFoundation.

Proposed resolution

#2513036: Remove Dependencies (Symfony & Drupal Components) from the repository

Remaining tasks

  1. #2513036: Remove Dependencies (Symfony & Drupal Components) from the repository

Comments

fabianx’s picture

Yes, we'll deal with it.

fabianx’s picture

Hello,

We have analyzed all options and the best course forward seems to be:

- Remove all Symfony and Doctrine code

The reason it was in was that I work a lot on Drupal 8, which has those things committed directly in the code base, so it did not feel wrong to do the same (even though it is).

- Leave Drupal 8 Core + Component for now, because there is just a subset used and depending via composer on the whole of e.g. drupal/core does not make sense and is even security problematic.
- Leave the ScopeInterface.php, ContainerInterface.php and IntrospectableContainerInterface.php in the main module. Those come from Symfony, but Interface code is needed for compatibility reasons.

=> I am asking for permission to leave:

- Drupal 8 Components in the code base
- Some parts of Drupal 8 Core in the code base

The justification is that this a module that allows to write Drupal 7 code in a way that is compatible with Drupal 8 and hence needs parts of the code base (especially interfaces) to be able to provide that interoperability.

=> I am asking for permission to leave:

- ScopeInterface.php, ContainerInterface.php and IntrospectableContainerInterface.php in the main module.

Justification is again to ensure compatibility with Symfony.

All other 3rd party code will be removed.

Would that proposal be acceptable to the DLWG?

kreynen’s picture

Component: Violation » Exception Request
Status: Active » Postponed

From a GPL perspective, there is nothing wrong with including MIT licensed files in at GPLv2 and later licensed project. It has only been the Drupal.org Git Policy that requires an "official exception" for a 3rd party asset of any kind (code, image, font, etc). Unfortunately the process for getting an exception still hasn't been published for community feedback.

To keep things moving forward, I went ahead and opened #2535310: Add ASSETS.yml for LWG Exception.

I'm not sure that's 100% correct, but we wanted to start getting this in front of people to get more feedback. In the process of creating some ASSETS.yml files, I found #2534056: Remove unused and NON-MIT/GPL licensed or compatible code. That has me more convinced than ever that we need to keep track of any 3rd party code or asset in a Drupal project. How exactly we do that is still a question, but the proposed ASSETS.yml format is working well so far.

I'm changing this to postponed. We are not taking any action on violations or exception requests that are likely to be approved under the revised policies until that change is RTBC. So carry on until then.

fabianx’s picture

Thanks so much for the feedback!

markhalliwell’s picture

Status: Postponed » Closed (won't fix)

https://www.drupal.org/project/service_container has been deprecated in favor of https://www.drupal.org/project/backport.

Marking as "Closed (won't fix)" because https://www.drupal.org/project/service_container is severely outdated and should no longer be used anyway. There is no point in trying to "fix" it.