cvieira

joined 4 years ago
[–] cvieira@lemmy.ml 1 points 1 day ago* (last edited 1 day ago)

I don’t see how using a proprietary license will help your dilema

I guess I should clarify: Predator itself is already entirely open source, offline, and self-contained. The issue here is regarding an external service that allows you to import and manage data collected by Predator. By making this external service proprietary, I would be able to host the service and regulate how it is used. By making it open-source and self-hostable, I'm giving up control over how people use it.

If you license your project under the AGPL, the code is required to be available so people can ensure that their government is not abusing the power they have lent

I'm not sure this is how that would work. The AGPL specifically guarantees users of the software the right to use it for whatever purpose they want. Assuming the government doesn't host a public instance of the software for third-party users, they are under no obligation to share the source code. As such, they could continue doing whatever they want with it with zero oversight.

The argument for a proprietary license would be that V0LT maintains control over the only public instance, meaning it could enforce the rules each agency agreed to. For example, a university wanting to do parking enforcement could be given a 7-day license plate retention limit, and have their ALPR geofenced to the perimeter of the campus. This oversight would not be possible with a free license, hence the dilemma.

[–] cvieira@lemmy.ml 2 points 1 day ago

Surely someone who wants to centralize ALPR information will simply use a service that already supports that feature. It seems unlikely someone trying to conduct mass surveillance would chose to modify a product specifically designed to make that difficult when there are already dozens of services that support that natively.

[–] cvieira@lemmy.ml 2 points 1 day ago* (last edited 1 day ago) (1 children)

dont collect it all to some central database but have everyone make their own for private use.

This is how it currently works, and it's why I think Predator is a better alternative (as far as privacy goes) to traditional ALPR services. Everything Predator records is stored locally unless explicitly configured by the user to do something differently.

What use is it to regular people to track others licenceplates?

To be clear using the word "track" is a bit generous here. An individual user won't have nearly enough data to have anything close to a comprehensive location history on any given vehicle. A Predator user might be able to say "I've passed this car 3 times in the past month" but not "This person leaves for work every day at 9am".

Predator is designed primarily to make use of 'hot-lists' where only license plates in a specific list trigger alerts. For example, the US has a program called AMBER alerts, in which emergency alerts can be issued for missing children/kidnappings. These alerts often have license plates associated with them. A Predator user can add a plate from an AMBER alert to their hot-list, and then forget about it. Predator will silently scan license plates as they drive, and alert the driver if they find the vehicle. I think this is a way better alternative to government agencies covering an entire neighborhood in license plate cameras that feed everything to a centralized database.

the whole thing will likely just be taken from you by force if nothing else works

This seems unlikely to me. There are already established companies in the space who have zero issue with violating privacy (i.e. Flock ALPR and Axon). A malicious company or government entity is unlikely to willingly go after Predator, given that it goes out of its way to make mass surveillance difficult.

[–] cvieira@lemmy.ml 1 points 2 days ago

I suppose so, but it certainly couldn't hurt, especially if users have to be approved, and have geofenced restrictions.

I get what you're saying, but I figure someone who's prepared to do that probably wasn't someone who I was going to be able to stop from using Flock ALPR to begin with.

[–] cvieira@lemmy.ml 3 points 2 days ago (1 children)

I guess I'll reframe the question a bit: Flock ALPR is the dominant brand in this field, and they have shown zero desire to protect individual liberty and privacy. This latest utility I've been experimenting with tries to replace the functionality of Flock ALPR with decentralized private data sources, rather than massive centralized databases (which I think is vastly better for privacy and reducing government overreach). The question is: would such a product improve privacy/freedom by eliminating the need for Flock (and competitors), or just further contribute to the problem?

[–] cvieira@lemmy.ml 2 points 2 days ago

That's actually something I've noticed working on this project. Some people have have never heard of dash-cams, let alone ones with ALPR capabilities. People who are uncomfortable with that idea are usually pretty shocked when I explain to them what the little cameras all over their neighborhoods are for.

It feels like a bit of an uphill battle trying to eliminate state-sponsored ALPR, so my hope is that providing a less invasive alternative might be beneficial. It's certainly a tough balance.

[–] cvieira@lemmy.ml 2 points 2 days ago (3 children)

The cat is a bit out of the bag on that one.

Predator has been several years in the making at this point, but I've been trying to balance limiting mass surveillance while still having a product that's compelling enough for people to be willing to give up the traditional mass surveillance methods.

As far as the data import utility goes, that component is still private while I figure out how to handle it.

[–] cvieira@lemmy.ml 2 points 2 days ago (1 children)

I think you might be over-estimating the power of Predator a bit. There are already companies dedicated entirely to high-end vehicle-based ALPR, as well as fixed road-side ALPR networks. Most of the scenarios you've listed are significantly more difficult to accomplish using Predator, since it's inherently self contained. An individual might be able to tell that they've passed a specific vehicle a few times over the past few months, but they won't be able to collect nearly enough data to "track" them.

Here's a scenario: A driver has a Predator dash-cam installed in their vehicle. One day, the local police put out a notice asking if anyone has seen a specific stolen vehicle. The driver goes home, imports the Predator data, and finds that they have records of passing that vehicle twice over the past month. They report that information to police to help with the investigation.

The concern with this is that the ability to import data makes it possible for a coordinated organization (like a police force) to install cameras in a fleet of vehicles, and manually import that data at the end of each shift. With a larger set of information, you could realistically use Predator to track the habits of individual vehicles.

[–] cvieira@lemmy.ml 2 points 2 days ago* (last edited 2 days ago) (1 children)

You're bringing up many of the points I regularly consider working on this project. It boils down to the fact that this technology is widespread, and will continue to be widespread regardless of my actions. The catalyst for starting this project was when I learned what Flock ALPR cameras looked like, and noticed how widespread they were. I wanted to build something that could replace them without compromising privacy.

It's difficult, since there's an argument to be made for both sides. I'd argue that the existence of Predator gives an alternative to to invasive products like Flock ALPR. But at the same time, I think it'd be great to live in a world where this technology required warrants, transparency, and other oversight from the start.

Regarding the name, Predator seems to be a bit of a point of contention. As a point of clarification, Predator does way more than just ALPR. It's a fully featured dash-cam with object recognition, deep vehicle integration, and more. In nature, predators often have sharp vision and quick reflexes, which was the main motivation. It also opens up some clever branding options. For example "Predator Apex" is the commercial side of Predator, and each preassembled product is named after a predator (Scorpion, Owl, Falcon, etc.) Additionally, other brands in the automotive/law enforcement space tend to have rather sharp sounding names as well ("Cobra", "Dragon Eye", "Stalker", etc.)

[–] cvieira@lemmy.ml 2 points 2 days ago

Surely if I've made it this many years into the project without having a change of heart, that won't change any time soon.

That being said, I get what you're saying. Relying on human filtering seems prone to error.

 

TL;DR: I'm writing a program that could be used by a malicious user to track people. Do I license it under GPLv3 to guarantee user freedom, or do I use a more restrictive license to prevent abuse?

Introduction

Hello! I'm a software developer with quite a bit of experience in automotive electronics, and I've run into a bit of an ethical dilemma, and I'd like to get some input from people who care about the same issues I do.

ALPR

If you already know what ALPR is, you can skip to the next section.

As a brief background for those who aren't familiar, automated license plate recognition (ALPR) is a rapidly growing technology that detects, records, and logs license plates, typically on public roads. This technology is almost always pushed as a safety measure to protect the populations under surveillance. The argument generally goes that people should be willing to give up some privacy if it means helping police identify stolen vehicles, AMBER alerts, and more. If you're a member of this Lemmy community, I don't think I need to explain why I think this is a terrible idea.

V0LT Predator

Predator is my attempt to take on this industry with a highly private alternative to traditional ALPR. In short, Predator is completely open source, runs entirely locally (with no telemetry/data mining), and uses independent hot-lists to decide what plates to alert to. The idea is that instead of a government agency setting up thousands of cameras to track hundreds of thousands of vehicles, individual users can set up cameras in their own vehicles, and help track down relevant vehicles (like AMBER alerts with associated license plates) indepdently. I figure this bottom-up approach can reduce the severity of mass surveillance and data centralization without entirely giving up the advantages of ALPR.

The danger with ALPR is when someone has access to so much centralized data that they can form a map of everywhere a specific vehicle has been. This is not something that's realistically possible on the scale of an individual user operating independently.

I realize many people will probably be entirely opposed to the idea of building an ALPR platform in the first place, but I hope you can understand my motivation.

Growth

Predator started as a brief personal challenge, but rapidly turned into one of my most advanced products. As far as I can tell, it is currently the only active open source ALPR ecosystem, and is the most popular alternative to SaaS ALPR platforms like Rekor and Flock Safety.

The issue is that this growth came with surging demand for many of the features supported by traditional ALPR services. I've had to walk a very fine line with making Predator valuable enough as a product to replace traditional mass-surveillance without turning it into a mass-surveillance product in itself. My decision making when considering new features has primarily been based on these two features:

  1. Is this feature useful to individual private users? (people with Predator dash-cams, home security systems, etc)
  2. Would this feature make it easier for a state agency or company to conduct mass surveillance?

As I'm sure you can image, this is an extremely gray area, but I think I've managed to walk the line pretty effectively so far.

The Problem

That leads us to the latest problem. There's been a lot of interest in some kind of product to organize and centralize license plate data collected by individual Predator instances. For example, a university police department running parking enforcement might want to identify plates that haven't purchased a parking pass. I think this use-case is fair, since all vehicles being monitored implicitly consent by purchasing a pass, and vehicles are not followed off-campus. That being said, this is one of those products I've been hesitant to add, since it would absolutely make it possible to use Predator as a mass surveillance tool.

The other day, I started developing a system like this internally, and it was a bit terrifying how effectively it worked. With a $80 off-the-shelf camera system, I was able to track dozens of vehicles after driving around for ~15 minutes.

The Dilemma

Here's the dilemma. If I hosted this service as an online-only product (which is the current plan), I could pretty effectively prevent it from being used for mass surveillance. For example, I plan to limit accounts to a few hundred unique vehicles unless they apply for an override. Customers with legitimate use cases can be granted overrides with geofenced areas to fill their use-case (i.e. the university campus from the previous example). However, this significantly compromises user control, since they would have to go through my services to use the product.

Typically, I would prefer to make the software entirely open source and self-hostable under the AGPLv3. However, this would make it trivially easy for a government agency or business to set up a mass scale surveillance system.

I'm struggle to decide how to approach this issue. Have I backed myself into a corner with this one? I'd love to hear everyone's thoughts on this dilemma, and the Predator ecosystem as a whole.

[–] cvieira@lemmy.ml 2 points 6 months ago

85 needs to be connected to 12v, not ground.

I think you may have just solved my problem. When I've used relays in the past, pin 85 was connected to ground, since I wanted the relay to close when the trigger went high. I'm not sure why it never occurred to me that I'm essentially trying to do the opposite thing here, since the horn is triggered when the trigger wire is connected to ground.

I've never worked with individual diodes, so I'm not sure about the correct terminology, but which way would I want the diode to "face"? Do I want it to allow current to run from the 12V source, through the added relay, to the horn switch wire, or the other way around?

Additionally, would I need to add an in-line resistor? It makes me a little nervous connecting the horn switch to 12V, given that I doubt it's designed to carry a significant amount of current.

[–] cvieira@lemmy.ml 1 points 6 months ago (2 children)

It seems like the horn wire is normally at 12V, and pressing the horn brings it down to about 0V. I figure the horn switch it just shorting that wire to ground, which in turn triggers the factory horn relay. Would a dioide in like with my trigger relay stop the add-in relay from connecting the factory horn wire to ground?

 

I've been trying to solve an automotive electronics problem for several weeks now, but everyone I've spoke to can't seem to come up with a solution.

In brief, I'm trying to add a relay in-line with the horn switch in my car, such that I can close my own circuit when the horn is pressed, without affecting the existing horn circuit in the car.

I had some JD1912 12V relays left over from a previous install, so I tried to use those. (Relevant image: Diagram)

First, I placed connected the trigger wire (pin 86) to the the wire coming into the horn switch, and the ground (pin 85). The relay triggered when the horn button was pressed as expected, but this also caused the actual car horn to sound continuously. Presumably doing this was enough to give the factory horn relay enough current to close.

Next, I tried placing the relay in series with the horn switch by splicing the wiring heading into the horn switch, and connecting the relay (pin 86 and 85) in line. Once again, the relay triggered with the horn switch as expected. However, this time, the actual car horn didn't sound at all.

The best I can work out is that there's a resistor in-line with the relay trigger (otherwise connecting it straight to ground would cause a short, right?) However, that resistor is just enough to allow the factory horn relay to trigger when connected to ground.

The way the car is designed, I can't splice into the wire coming out of the switch to detect when the horn is pressed, since it's a shared ground with other components.

My question is, is there such a thing as a relay with no resistor? Essentially all I'm looking for is a component that will "detect" current on the horn switch wire, and close a separate circuit. I'm not sure if a relay is even the correct way to go about this. Hopefully you guys can point me in the right direction.

2
[removed] (lemmy.ml)
submitted 4 years ago* (last edited 1 year ago) by cvieira@lemmy.ml to c/libre_culture@lemmy.ml
 

[removed]

1
[removed] (lemmy.ml)
submitted 4 years ago* (last edited 1 year ago) by cvieira@lemmy.ml to c/riscv@lemmy.ml
 

[removed]

1
[removed] (lemmy.ml)
submitted 4 years ago* (last edited 1 year ago) by cvieira@lemmy.ml to c/linux@lemmy.ml
 

[removed]

view more: next ›