Skip to content

boards/pic32-{clicker,wifire}: delete boards#12147

Closed
jcarrano wants to merge 1 commit intoRIOT-OS:masterfrom
jcarrano:remove-clicker-wifire
Closed

boards/pic32-{clicker,wifire}: delete boards#12147
jcarrano wants to merge 1 commit intoRIOT-OS:masterfrom
jcarrano:remove-clicker-wifire

Conversation

@jcarrano
Copy link
Contributor

@jcarrano jcarrano commented Sep 2, 2019

Why

There has not been any any progress towards addressing the issues put forward in ec3252b (part of #11788).

We already did away with malta. Now, shall we remove clicker and wifire too?

Before answering consider the following points:

Are clicker and wifire (in their present state) adding any substantial value to RIOT? Do they solve anyone's problems, compared to those which they create? Since this is a community effort: do they address any common, shared needs of (a relevant part of) the community?

Anyone trying to affirmatively answer the above would have to explain why #9259 is still unmerged after almost a year and half, and why it is being proposed by a person with no interest in pic32 or mips and whose time could be spent in ways more useful to our community.

What

Please see the commit description for a more complete explanation, also see the discussion in #11788.

@jcarrano jcarrano added Type: cleanup The issue proposes a clean-up / The PR cleans-up parts of the codebase / documentation Platform: MIPS Platform: This PR/issue effects MIPS-based platforms Area: boards Area: Board ports labels Sep 2, 2019
Note: in contrast to mips-malta, these boards are still available for purchase.
      This means that if the issued listed below were to be fixed (and the boards
      maintained by a person versed in the architecture) then adding them back
      would be a valid possibility.

The pic32-clicker and pic32-wifire have severe issues affecting their usability,
maintainability and have no maintainer.

1. Usability
============

I doubt the current implementation of these board can be use for any serious
development.

This is a problem with MIPS-RIOT integration in general and was explained in the
PR removing mips-malta:

> a. Makes development & debugging way harder.
> b. It is impossible to run interactive tests.
>  b.1. Constrains the rest of the platforms by providing an incentive to not
>       make tests interactive.
> c. The lack of UART is a witness to the poor quality of the port.

This alone should have been enough reson not to merge this boards in the first place.

pic32-wifire is the least worse. At least it can be flashed from Linux, though it
is not an easy task. From dist/tools/pic32prog/doc.md

>It will require flashing a specific firmware on the PICkit3.
> As this can only be done from a Windows computer, that not many Linux users
> have, the following steps explain how to setup a Windows VirtualBox virtual
> machine and flash the PICkit3 from it.
>
> Informations come from this comment
>
> RIOT-OS#6092 (comment)

pic32-clicker HAS NO FLASHER and requires one to use MPLAB.

2. No maintainer
================

There is no (active) RIOT maintainer with deep knowledge of the boards and
platform. A quick search through the issues and PRs shows this.

3. Maintainability
==================

As a consequence of (1) and (2) many tests are not run in these boards. At the
same time, RIOT maintainers - especially those working on the build system - still
have to modify and migrate mips-foo boards.

The rest of the arguments here are the same as presented with the mips-malta
removal.
@kaspar030
Copy link
Contributor

I'm against removing these.

@jcarrano
Copy link
Contributor Author

jcarrano commented Sep 3, 2019

I'm against removing these.

Ok, fine, but would you mind giving a rationale? I'm not dogmatic- I spelled out my arguments and if you counter them then of course I can change my opinion.

@kaspar030
Copy link
Contributor

I'm not dogmatic- I spelled out my arguments and if you counter them then of course I can change my opinion.

  1. there probably have been hundred(s) of hours of work in order to get MIPS support to the current state. Even if it has some problems, opening a removal PR takes what, 5 minutes? This is at least rude towards the original contributors.

  2. So let's say basic MIPS support is currently barely usable (e.g., no board is flashing without extra PR, and UART input is non-functional). I consider those minor and solvable issues, again, compared to the rather huge amount of work that has already been invested to get us here.

  3. While an extra architecture requires maintenance, it also brings many benefits: validation of our abstractions, exposure of our code to wider amount of use-cases, the possibility to do more exhaustive comparisons for our scientific crowd, and hopefully, thankful users that can benefit from RIOT on their platform of choice (or what has been forced on them). And the warm feeling that we can say "RIOT runs on almost everything that you'd call MCU".

  4. RIOT is not primarily business driven. If it would, why on earth would we support anything else than Cortex-M (and maybe RISC-V, just to be able to jump ship when necessary)? The community is not a company, it is not bound by shareholder value. We do have the freedom to support stuff that we feel like we want to support it, for whatever reasons.

  5. "Anyone trying to affirmatively answer the above would have to explain why pic32-wifire: add support for flashing with pic32prog #9259 is still unmerged after almost a year and half"

This one puzzles me a lot. You've been sitting across @cladmi that whole time. It should have been a rather quick merge, if there'd been some communication between you guys.
Probably you don't see value in MIPS support, and rather concentrate on other stuff that you find important, like the colored output of our build system. I'd say that's alright, work on whatever floats your boat. I respect that. I'd like to ask you to also respect different interests from other community members.

@jcarrano
Copy link
Contributor Author

jcarrano commented Sep 3, 2019

  1. Effort != Value. I can take hundreds of hours digging a hole and covering it. The fact it took a lot of effort is irrelevant here- the point is the value it delivers.

  2. Same issue as (1). Also, I question that those "minor and solvable issues" are so, considering the have not been fixed. I would have expected that if they were so small in scale compared to the original effort, then they would have been fixed when the boards were introduced or shortly after.

  3. We do software to solve problems. I doubt that warm feelings is a problem to be solved by RIOT. What problem and for whom is MIPS/clicker/wifire solving? Our resources are scarce, as shown by the 600+ open PRs. What you mention are potential benefits. I ask about realized benefits.

  4. Excellent point. The community as such is not profit-driven. The community is driven by the shared interests of its members (which in turn may or may not be business-oriented). Any group of people can only collaborate on what mutually benefits them. As the intersection of the mutual interests narrow, the chances for collaboration diminish. That is why there exists several OS. " it is not bound by shareholder value": well, the members are the shareholders.

  5. Why am I supposed to review or test pic32-wifire: add support for flashing with pic32prog #9259? I'm not familiar with the hardware and I don't even know anybody who needs it- it would be a complete waste of time for me and my project. I'm being consistent: I say I don't care about MIPS and act the same way. I should be asking why the people who want MIPS support did not review pic32-wifire: add support for flashing with pic32prog #9259.

PS, off topic: "the colored output of our build system" is part of what makes it run as slow as it does, and AFAICT it is you who often complains about build times in the CI. Those long build times are caused by a combination of inept programming and extensive use of hacks, which is what I'm trying to ameliorate.

@jcarrano
Copy link
Contributor Author

jcarrano commented Sep 3, 2019

One more point. I am paid with public funds, as is the case for many members of the RIOT community. It is therefore a duty for us who are paid by the public to constantly ask ourselves: how does this benefit the public? and, am I using public resources effectively and responsibly?

@benpicco benpicco added the Discussion: RFC The issue/PR is used as a discussion starting point about the item of the issue/PR label Sep 7, 2019
@aabadie
Copy link
Contributor

aabadie commented Jan 15, 2020

Since there is some still work done by @francois-berder on these boards, I don't think we'll remove them for the moment.
This PR is also very outdated. I'm closing it.

@aabadie aabadie closed this Jan 15, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area: boards Area: Board ports Discussion: RFC The issue/PR is used as a discussion starting point about the item of the issue/PR Platform: MIPS Platform: This PR/issue effects MIPS-based platforms Type: cleanup The issue proposes a clean-up / The PR cleans-up parts of the codebase / documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants