smartdevicelink / sdl_evolution

Tracking and proposing changes to SDL's public APIs.
https://smartdevicelink.github.io/sdl_evolution/
BSD 3-Clause "New" or "Revised" License
33 stars 122 forks source link

Remove Policy Mode Option From SDL Core #1170

Closed jacobkeeler closed 2 years ago

jacobkeeler commented 2 years ago

Currently the SDL Core project has a build option which allows users to choose between one of three policy modes, HTTP, PROPRIETARY, and EXTERNAL_PROPRIETARY. The main difference between these modes are:

  1. The policy update flow is slightly different between each mode
    • HTTP mode does not use the HMI at all in the policy update process
    • PROPRIETARY mode uses the HMI to optionally encrypt the policy table snapshot, while Core handles the PTU retry sequence
    • EXTERNAL_PROPRIETARY mode uses the HMI to optionally encrypt the policy table snapshot and to handle the PTU retry sequence
  2. EXTERNAL_PROPRIETARY mode supports a number of extra features, including several policy table fields that aren't implemented in HTTP or PROPRIETARY mode

The HTTP and PROPRIETARY policy modes were created for the project when it first became open-source as a way of including a version of policies with reduced functionality. It was eventually decided to include the full feature in the open, which was when EXTERNAL_PROPRIETARY was added to the project (see SDL Core 4.3.0).

Generally speaking, EXTERNAL_PROPRIETARY mode is the fully-featured version of policies, while the other two modes only support a subset of the features in EXTERNAL_PROPRIETARY. There is a significant amount of overhead in testing and development for policy-related features due to the need to support each of these modes. For these reasons, there is very little reason to continue supporting these older modes, as they are less versatile than EXTERNAL_PROPRIETARY mode. The goal of this proposal is to remove the EXTENDED_POLICY build option from SDL Core, reducing support only to EXTERNAL_PROPRIETARY policies.

jacobkeeler commented 2 years ago

@theresalech Ready for review

jacobkeeler commented 2 years ago

@theresalech I made an addition to the alternatives considered section. Ready for review again