pvfactors
pvfactors copied to clipboard
The future of pvfactors
First of all, I would like to say thank you to the people that help keep pvfactors
alive (mostly @kanderso-nrel, and more recently @campanelli-sunpower) and for management at SunPower (@srisukhi @pfranz-spwr) for keeping the repository public even after I left the team.
I'm creating this issue because people have been reaching out to me directly asking about the future of pvfactors
, and wondering about the fact that it feels abandoned in spite of a sustained interest by people in the industry using it directly, or via pvlib-python.
So I would like to open this discussion with SunPower (@campanelli-sunpower and @srisukhi, but also @pfranz-spwr ) to understand where the company stands on not only maintaining the code, but also building on top of it (there are feature requests like #120, or what I started in #119, and lots of fun and innovative ideas that can be thought of).
I. situation
What is SunPower's plan for pvfactors
? Is there any roadmap for it?
-
My current impression is that
pvfactors
as-is currently satisfies the modeling needs of SunPower, and that there will understandably not be much more work done on it. Besides, I do not know if SunPower still has interest or simply resources (time, personnel, ...) to maintain its public modeling repositories such aspvfactors
(orPVMismatch
, but that's a different discussion). -
It was also brought to my intention that there doesn't seem to be much overlap between the people who want/can keep
SunPower/pvfactors
alive, and the people who have admin/management privileges on the repository (including the CI, release process, etc), which creates some inertia in an already slowly moving package.
II. potential next steps
-
would SunPower be willing to transfer ownership of
pvfactors
to a different organization like pvlib? -
if not, what does SunPower think about the idea of forking
pvfactors
into a different organization (and of course use a different name)? (not that any permission is needed, just trying to understand what would work best for everyone)
@anomam Thanks for pressing this matter. I have forwarded the email from this discussion to my team's product owner, Andres Fajardo Delgado (not sure if he's on Github yet). We will discuss, but probably not until after the holiday this week. Also, @srisukhi has left SunPower.
I personally think that incorporating pvfactors into pvlib-python sounds like the most sustainable approach (and perhaps PVMismatch would be a good candidate too). Of course, those decisions are not mine and likely involve several persons with legal degrees.
Finally, the miserly part of me is wondering about the parallel effort of https://github.com/NREL/bifacial_radiance. Can the open source community realistically expect to maintain two repositories? Perhaps @kanderso-nrel has some perspective here?
Maybe there's no need to discuss too much until we hear the results of that internal SunPower discussion, but:
I personally think that incorporating pvfactors into pvlib-python sounds like the most sustainable approach (and perhaps PVMismatch would be a good candidate too)
If pvfactors is to be more closely associated with pvlib, I'd rather it be a separate repository in the pvlib
github organization instead of integrating its code into the existing pvlib/pvlib-python
repository. cc @wholmgren @cwhanse @mikofski in case they don't get notifications from this repo.
Here is a semi-relevant discussion about the pvlib.bifacial
module: https://github.com/pvlib/pvlib-python/discussions/1318
And another about maybe moving pvmismatch to pvlib: https://github.com/SunPower/PVMismatch/discussions/146
Finally, the miserly part of me is wondering about the parallel effort of https://github.com/NREL/bifacial_radiance. Can the open source community realistically expect to maintain two repositories? Perhaps @kanderso-nrel has some perspective here?
I think there is value in both raytracing- and view factors-based packages. Certainly there are modeling applications where pvfactors can't provide the desired level of detail, but I think there are many practical applications where it is good enough and the substantially increased complexity of installation/usage/runtime of ray tracing would be annoying or even prohibitive.
However that's orthogonal to the existence of maintenance resources. I am willing to continue putting some maintenance effort into pvfactors (regardless of where the repository ends up) but I'm not confident it would be sufficient on its own. I'm already unable to spend as much time on open source as I'd like and lack of familiarity with the codebase makes it hard to investigate issues like #125.
I'd be willing to consider re-hosting pvfactors in the pvlib organization as its own repository, if there are committed maintainers. It's not reasonable to expect the pvlib-python maintainers to also take on pvfactors. Integration into pvlib-python would be challenging, in my opinion, because the coding styles are rather different.
cc @afajardodelgado
Thanks for your input @kanderso-nrel (and @cwhanse). I did not mean to suggest that there is not value in maintaining/developing both modeling approaches. I was thinking more about combining them into a single repo, possibly even with a common API, so that only one repo, build system, etc. would have to be maintained while consumers could more easily switch between models.
Thanks a lot @campanelli-sunpower for forwarding this to SunPower's management. And thanks everyone for voicing your concerns. Understandably the main issue is resources/responsibilities (then logistics). Let's definitely wait for some reply from SunPower, but I believe it is helpful to understand where everybody stands in the meantime.
Just to clarify my position here: I do willingly admit that the amount of time I've been able to put into pvfactors doesn't necessarily meet the users demands, and even though the package API is IMO still simple, the internals are - in spite of all my past efforts (like re-writing it 3 times from the ground up) - still complex and present a barrier for people willing to contribute (which is also why I'm so grateful for all the help I've been getting from @kanderso-nrel and more recently @campanelli-sunpower ). So it's been hard to get help from users.
I think that pvlib would be a great place for pvfactors as a separate repo and I do intend to help maintain it the best I can, but I also hear and understand the concerns. Another option (not as good for the package growth IMO but still viable) could be to transfer or fork the repo into my account (or a new account I create and own), and then I would happily give admin rights to people who feel like helping in the long term.
hello @afajardodelgado @campanelli-sunpower , following up here; do you think we could get some answers within the next couple of weeks?
@anomam I did have an in-depth discussion with @pfranz-spwr about possible paths forward here. It will take some time to loop this through SunPower legal, so I can say that next steps are under way, but I cannot guarantee a couple of weeks at this point.
ok, thank you for keeping us posted @campanelli-sunpower
@anomam Is there some documentation and/or automation that you can point me to about how to release pvfactors
to pypi?
Also, same question about documentation.
@campanelli-sunpower I created #133 to help with that. Let's continue that conversation in the PR if you have more questions.
Concerning this issue here, any news from SunPower legal and management? It's been almost 2 months now since we started talking.
Hi @anomam. We had another followup discussion today at our team's weekly meeting, so this has not fallen off SunPower's radar. My sense is that pvfactors
would likely benefit from more consistent TLC if it lived alongside pvlib-python at https://github.com/pvlib/, and I have recommended such to higher ups who are considering the situ. We apologize for the slow process.
SunPower has referred to legal with recommendations. No further update at this point.
Hi @campanelli-sunpower, any movement on the SunPower side here?
@markcampanelli have you had a chance to get back in touch with the SunPower folks? I still view the ideal outcome here as transferring the repo to the pvlib org, but if that's not going to happen then I think it's time to think more seriously about a fork.
@ahoffmanSPWR do you have any involvement in pvfactors? thanks!
@mikofski - No, I'm not involved with pvfactors. (I'm more involved with pvmismatch, which is a separate story.) For pvfactors, I generally agree with what seems to be the majority view in this discussion and @campanelli-sunpower, that it would be better for pvfactors to be hosted outside of SunPower, such as pvlib org as suggested. I doubt there is much if any active use of pvfactors at SunPower since they are focused on the residential market now.
Although I may not have much pull on this topic, I can ping a few people at SunPower with this suggestion.
SunPower has referred to legal with recommendations. No further update at this point.
hey @pfranz-spwr @zdyne @campanelli-sunpower @markcampanelli, I hope things are well on your end. Just following up here; has there been any progress made on this question? (I'm not even sure you're still at SunPower... if not, did anyone else take ownership of this package by any chance?)
We will soon reach the 1 year mark for this Gh issue/request, and I hope we can come to some resolution soon (whether transferring ownership is approved or not) so that we can all move on... 🙏
I inquired about this by email with my former manager, Jeremy Meadow, at SunPower around the time of the PV Performance Modeling Workshop in SLC. I have not heard back. He doesn’t appear to be on GitHub.
I inquired about this by email with my former manager, Jeremy Meadow, at SunPower around the time of the PV Performance Modeling Workshop in SLC. I have not heard back. He doesn’t appear to be on GitHub.
hello @pfranz-spwr @zdyne, is there any chance you would have someone on your team or at SunPower in general that could be a point of contact for this? Any help to move this ticket forward would be greatly appreciated
We have actively engaged behind the scenes to work on transferring this and other repos to a more appropriate steward. Will update this thread when the plans are concrete.
Hi @pfranz-spwr, I wonder if there is any progress at SunPower here? Thanks!
hello @pfranz-spwr @zdyne , hoping all is well on your end.
I'm just reaching out one last time as folks are ready to fork pvfactors and already brainstorming new names... From where I stand I don't really see what SunPower would lose handing over the package ownership to pvlib
, but maybe things are more complicated than I currently understand.
In any case, I wish you and SunPower the best for 2023 and hope we'll get a chance to catch up at some point! Cheers