For anything you'd like to see added to Speeduino
User avatar
By PSIG
#43777
It was noted by another member that multiple bounties of nearly $1000 have been posted requesting features into Speeduino with reward. Another member replied
To my mind, the principle problem is lack of a specification or at least something that resembles one. A discussion thread is not enough. I come from a pretty formal commercial software development background and I would gladly do work on a bounty driven requirement provided;

- It was already agreed it would be accepted into the master codebase
- There was a well defined specification of the minimum viable product required to collect the bounty …
Unfortunately, I do not know what that means for specific information the requestor needs to supply, and the best most can assume is to describe the intention or desired result in a post or thread. I am not aware of further guidance, and effort would be collaborative to some degree. Would any members that may be willing to do development and coding work for extended or new features please outline what these requirements would look like to non-dev's and non-coders? Perhaps an outline, framework, Q&A form, or similar? I assume most would be happy to provide answers to questions or guidelines in order to provide some chance of success. It is sad to see the paid funding generally lost for both the developers and the ones that posted the offer; so some guidance would be appreciated. Thanks!
By ric355
#43780
me wrote: To my mind, the principle problem is lack of a specification or at least something that resembles one. A discussion thread is not enough. I come from a pretty formal commercial software development background and I would gladly do work on a bounty driven requirement provided;

- It was already agreed it would be accepted into the master codebase
- There was a well defined specification of the minimum viable product required to collect the bounty (also applies for stuff where no bounty is present; I will gladly develop against anything really the bounty is not a key requirement for me)

If either or both of these is not known then I put it in the bracket of 'probably wasting my time'. I realise that could sound a bit harsh but that's the way it is.

I suspect few people want to have to do the work to establish all the ins and outs of a particular function / new requirement unless it is for their own benefit where they just have to. Writing the code is often the easy bit really.
I think it important to include the full quote. I'm not only saying I will write code for a bounty; I'll do any coding really but the same two conditions apply - the requirement and spec needs to be well enough defined and there must be pre-agreement that whatever work I did would get included in the master. This second bit is pretty important; there are many pull requests that get made that are essentially just ignored for one reason or another, making them a waste of time. Nobody should be keen to maintain a fork it is not a viable long term proposition.

I suspect this will be different for different people, but for me, I want to be told:
- what any parameters are that need to be configurable (names, types, what they are for)
- what logic is needed to implement the function
- how the change should be blended in with other functions if it should affect them (e.g. lets say we added a new enrichment - since enrichments are compounded, where in the order does it go).

What needs to be described obviously depends entirely on the size and complexity of the change being requested.

Clearly sometimes I will have my own ideas about how things can be done but I am not necessarily familiar with everything (e.g. I've never done water injection so have no idea how it is typically done). I have only the needs of my own engine to consider and do not regularly tune other cars or perform speeduino installations so I have limited perspective on what issues the platform has or what changes it needs.

Basically I need enough information to be able to produce a prototype of something without having the ability to test it in a physical installation. Sometimes it's fairly obvious what is needed but often it is not, and there are often different opinions about the best way to do things (e.g. should function x have a 2d table or whatever). And I suspect that the bigger the bounty the more complex the function and the bigger need to have a proper description of what is needed.

The last thing I would want to do is to have to pick my way through a discussion thread to try and discern what is needed on a feature I'm unfamiliar with. At least one summary of the requirement pulling together all of the contributions from the discussion, and some consensus on it, would be ideal. I'm not suggesting people write reams of formal documentation or anything like that.

hope that helps.
User avatar
By Eric H
#43787
David,
I've been a professional software developer since the late 80's.
In that time I've worked for one place that had that level of specificity in the specs. It was wonderful.
It's a constant battle to understand what the customer wants, mostly because the customer seldom understands that themselves.

I've been doing embedded work, custom hardware drivers, kernel work, multiprocessing optimization, all the nasty stuff for a long time. Nobody knows how to specify that with any precision.
User avatar
By DeeEmm
#43799
I too am an ex softie - industrial controls - PLC / robotics etc.

A FDS (Functional Design Specification) was provided with each project, but such documents themselves are the product of many hundreds of hours of work including the outcomes of FMEA studies, communications analysis, hardware schematic design, client specifications etc, etc, etc.

You're not going to get this on a $200 bounty.

There's no drawing office creating schematics, no R&D department determining the best protocols to use, there's not even any clear customer specification.

Reality is that most of those people posting bounties up have no idea about any of this stuff, they just have an idea.

And that's all there is - is a simple community idea for a function that they would like to see.

If there's not enough information included with the original idea / request / bounty then the simple solution is that you ask.

- ask a question
- open a discussion
- lead the poster to give you the information you need
- engage the community

You will never get an FDS in the open source community, put simply. The Open Source community cannot afford such things.

Developing for open source software means that you need to roll your sleeves up and get stuck in.

There's no hand-holding here. :D

The bounty is not really intended to be payment for a job, but simply something to make a particular feature more appealing. I thought that US$200 was pretty appealing, but I guess not. Perhaps I'm the only one that has a use for it.

(BTW ric355 I've added a basic 'specification' to my original post for you ;) :D Sing out if you need any more info)
User avatar
By DeeEmm
#43800
ric355 wrote: Fri Jun 19, 2020 7:51 pmI think it important to include the full quote. I'm not only saying I will write code for a bounty
Never really saw bounties as coding jobs. Not really sure that's what they are, nor that this was ever the intent. Maybe things have changed here. I don't frequent the forums too much.

Originally there was a discussion for feature requests. I suggested WMI and it got a fair bit of interest. Someone suggested creating a bounty for it, perhaps expecting that all of the interest might end up in a worthy bounty. I created a bounty and that was basically it. No one has since added to it, nor has anyone decided to undertake the challenge. For whatever reason that is. I don't know.

It's now coming up to 2 years later and Bounty source have said that all bounties 2y/o or more will be cancelled and bounties held will go to BS.

It would be really good to get something back for my 'donation' rather than see it end up in BS's hands.
By ric355
#43802
DeeEmm wrote: Sat Jun 20, 2020 12:06 pm A FDS (Functional Design Specification) was provided with each project, but such documents themselves are the product of many hundreds of hours of work including the outcomes of FMEA studies, communications analysis, hardware schematic design, client specifications etc, etc, etc.

You're not going to get this on a $200 bounty.

There's no drawing office creating schematics, no R&D department determining the best protocols to use, there's not even any clear customer specification.

Reality is that most of those people posting bounties up have no idea about any of this stuff, they just have an idea.

And that's all there is - is a simple community idea for a function that they would like to see.

If there's not enough information included with the original idea / request / bounty then the simple solution is that you ask.

- ask a question
- open a discussion
- lead the poster to give you the information you need
- engage the community

You will never get an FDS in the open source community, put simply. The Open Source community cannot afford such things.

Developing for open source software means that you need to roll your sleeves up and get stuck in.

There's no hand-holding here. :D

The bounty is not really intended to be payment for a job, but simply something to make a particular feature more appealing. I thought that US$200 was pretty appealing, but I guess not. Perhaps I'm the only one that has a use for it.

(BTW ric355 I've added a basic 'specification' to my original post for you ;) :D Sing out if you need any more info)
The bounty *is* a payment for a job; no getting away from that. You give money to someone in return for them making a software change for you. I was originally trying to address the question of why bounties aren't being taken up and the only reasons I can see for this, given there are plenty of capable coders around, are either no-one knows about them or no-one is interested. To pique someones's interest you either have to make it easier to get the job done, or increase the appeal of doing the job.

Like others here I have made contributions without any financial persuasion and I shall continue to do so. But typically the changes I make are those that are of benefit to me. I have a purge valve control module ready to go but have not made a pull request yet as I haven't had the chance to test the physical implementation. I reckon most of the contributions that are made are done so on the basis of the function being of benefit to the person doing the work. I suspect that's another link to why bounties don't get taken up. Maybe everyone is just busy doing their own thing.

I did go to some length to explain that a detailed specification is not what I want, expect or even need. But anyone doing work does need clarity on the requirement and the confidence that they're not wasting their time doing it. Pointless doing it if the pull request is going to sit unattended. I'm presuming the bounty will not pay until it is in master.
By dazq
#43805
"Pointless doing it if the pull request is going to sit unattended. I'm presuming the bounty will not pay until it is in master."

I think it only pays out when the person who set the bounty is happy with the outcome, which I would imagine foremost people will be a working addition that's in master .....

I always felt that although anyone could code for a bounty , realistically it was meant as a incentive for Josh to add a feature himself( especially as if he writes it then it's pretty likely to make it to master)
By ric355
#43814
dazq wrote: Sat Jun 20, 2020 3:03 pm I always felt that although anyone could code for a bounty , realistically it was meant as a incentive for Josh to add a feature himself( especially as if he writes it then it's pretty likely to make it to master)
Interesting point to wit I looked up the original announcement, which is here;
viewtopic.php?p=25950#p25950

Basically the underlying intention was to help identify priorities i.e. someone putting a bounty behind something obviously means they really want it versus a frivolous request for a change of some sort, of which there have been many. There is no comment about who perhaps should be collecting it, but if it is really intended as an incentive for Josh then it is he who holds the answer to the original question "Why aren't bounties being taken up". I suspect these days he would rather see the product continue to mature with additional features (that do not have any negative effects on it of course) than he would collect $200 or whatever himself but I'm sure he'll comment in due course.
User avatar
By DeeEmm
#43817
ric355 wrote: Sat Jun 20, 2020 1:12 pm The bounty *is* a payment for a job; no getting away from that. You give money to someone in return for them making a software change for you.
That wasn't the way that it was presented to me at the time, nor the way that it came about. I actually felt that it was a donation. Ironically after being steered into creating the bounty, feeling sure that the person steering me into it would actually take up the gauntlet, nothing happened. Now 2 years later my 'donation' is still locked into this BountySource system and about to be lost. The entire thing has been folly.
ric355 wrote: Sat Jun 20, 2020 1:12 pm either no-one knows about them or no-one is interested.
Maybe that's part of the issue. How visible are they? There's some tags on GitHub and the threads are there in forums, but I'm not really sure that bounties are even a 'thing'. All of those tagged on GitHub are dated 2018 and none have been closed. Seems that they might have been a thing back in late 2018, or maybe someone was trying to make them a 'thing', but since then they have just been forgotten about. :(
ric355 wrote: Sat Jun 20, 2020 1:12 pm I reckon most of the contributions that are made are done so on the basis of the function being of benefit to the person doing the work. I suspect that's another link to why bounties don't get taken up. Maybe everyone is just busy doing their own thing.
Indeed. I think you are right. I know that if I had the time, I would be working on WMI :D
ric355 wrote: Sat Jun 20, 2020 1:12 pm Pointless doing it if the pull request is going to sit unattended. I'm presuming the bounty will not pay until it is in master.
I'm not really sure. I would assume that this would be the case. I've never used bountysource before.

You also raise another valid point and one I did not consider at the time - What exactly are the 'customer specifications'?

Whilst there is a coding standard or 'style guide' as it is described as, there's no real specification for approvals or acceptance testing. What is the process for getting a major feature accepted for integration into the core? or on the roadmap? What's the pre-approval process for accepting a design in principle? All of these things are going to directly affect things like bounties and none are really clear.

Things seem to have massively changed in the Speeduino project in the two years since I posted that bounty. It was a very different project that I made the suggestion of WMI. There were only a few active devs at the time. Since then, commits have gone from one or two people to many, chatter on GitHub has massively increased and I've gone from 1000 to 6000 members over on Speeduino Tuning.

Reality is that I don't think there's any way that this is going to get developed and then accepted into the core in 2 months, unless Josh himself writes it. Shame really.
User avatar
By DeeEmm
#43818
I'll also add that I made a post to the Speeduino FB page trying to garner some interest in WMI and it disappeared.

I think WMI does not want to get written lol.

Hi, I am trying to assign Signed values to the x-a[…]

Vr Conditioner Noise when cranking

New version 202305 don't fix the issue. Now after[…]

blitzbox

I've finally figured out why MAP and Lambda weren'[…]

Hello, I bring news!! Let me tell you that after […]

Still can't find what you're looking for?