jpsider / RestPS

Simple ReST Framework for Powershell
MIT License
114 stars 30 forks source link

At least you didn't name it YAWP: Yet-Another-Powersell-Webframework #9

Closed Jaykul closed 6 years ago

Jaykul commented 6 years ago

Sorry. I'm only posting to ask if you realize how many of these frameworks have been written already, and if so, whether there was something in particular that you felt needed to be addressed that the others don't handle...

Because there are many other micro web frameworks already out here on github.

I just desperately want PowerShell people to start working together on things...

jpsider commented 6 years ago

wouldn't that have been YAPW...? lol Anyway, I'm going to try to address this in two parts, the first being about the technical, and the second about the community.... Oh, before I do, I think I actually saw a very similar post you did on someone else's repo, Consistency. That post was actually very helpful in getting me started! lol ok, Part 1: Quite a few of the projects are not 'active', thats kind of a relative term though. It's difficult to put too much effort into powershell right now with 6 so close to release.

Not In PS Gallery:

Your project seems cool, but I cannot support a single threaded solution for what I am trying to accomplish. So its a combination of whether or not I felt like issues could be addressed based on the last update, whether the project was relevant to my goals, and if the project was over kill. Availability in the PS Gallery is a huge plus!

ok, Part 2: While I know that your intentions of the issue are to let everyone (myself included) that there are similar project out there and we don't have to re-create the wheel (coupled with a passive aggressive tone, lol). But I totally get where you are coming from, It would be pretty cool to get some of these projects to have a few consistent contributors vs. a more 1-to-1 ratio. But the problem is that this is open source, there are no rules people have to follow. I think a lot of us are just kinda feeling our way around, we see something, try it, create a repo, and never touch it again. It was not created to spite someone, or to compete, just to accomplish a task, whether it be work related or someone just wanted to learn.

So why would I choose not to use someone else's open source project. A few reasons, if I choose to adopt a project, i am now responsible to support it in my environment, if I am not completely okay with that, I should not use that code. So quite a few times I will choose to roll my own. It allows me to re-create the code in my own style, adding my own comments, or even adding things like my logging module vs. the existing log solution.

PR's are another issue, how long do you wait for a fix/feature/etc. to be merged? sure you can use your fork, but that does not help the PS Gallery situation.

Anyway, I can assure you that I am not creating repo's and content, to just create content. I am doing it because I need the solution to solve my problems. I'm sure we could talk about these topics for hours! Maybe we can catch up at the Summit in April?

I certainly appreciate you linking all of the other projects to this issue, as well as all of your contributions here, to the community as a whole, and in slack.

Jaykul commented 6 years ago

Yeah, I'm being passive aggressive about this for a reason. I'm passionate about the amount of wasted effort developers in general spend reinventing wheels (and particularly the PowerShell community, which is the worst I've dealt with about this). However, I also understand that there are real reasons to rewrite things -- not everyone is making new things because they didn't know better (or because they wanted to learn by making their own), but sometimes because they actually looked over the alternatives and didn't find one worth pitching in on.

In this particular niche, it's very hard to bother pitching in on any of the existing ones because they are all abandoned -- maybe there just aren't any users out there. That is, I think each person has done enough to solve the problem they had, and then not picked up a bunch of users and feature requests, so the project just stagnates.

jpsider commented 6 years ago

I understand your frustration and was not mad that you submitted the issue. Hopefully someone see's it and could maybe use one of the other projects vs. this one. If you want to look at a line by line or total line number of code, yes there is waste. But you have to consider the non tangible, did the person learn something? That might be even more important that contributing to an existing project. I think that creating a driven cohesive community is and uphill battle, one worth traversing. But it needs to happen organically, you cannot force it. I think you will slowly start to see some of this catch on, I honestly think that it will pick up when PS6 is officially released. - Cheers

Jaykul commented 6 years ago

I think it's an institutional thing -- PowerShell users have come mostly from communities that have never shared anything. It will take time. PowerShell 6 may change things, but only in the sense that it may bring in users from communities that are already used to sharing...

As far as learning -- that's not actually an either-or situation. Coders learn just as much or more if they spend the same time building on top of an existing project --and the result will be higher quality for having had multiple people involved, and will have more features for having had more total time put in.

anddave commented 2 years ago

Here it is 5 years later. I like this framework, my compliments to the author, and I am deciding whether I see clearly that it doesn't (yet) support variable routes like api/periodictable/{element} or recipes/entrees/{dish}. I think it doesn't (yet). Consequently, I am looking in the code and I want to augment this where clause so that it will also pass request URLs that match a regex, thus enabling a route like api/periodictable/. or recipes/entrees/. I'll review some of the links above, but so far this module seems a robust starting point. I sure would appreciate any feedback if you're still watching this repo. Thanks for writing it!

jpsider commented 2 years ago

Currently it does not support 'api/periodictable/{element}' as a route. I am still active on the project. If you have suggestions or contributions, I am happy to look at PR's.

anddave commented 2 years ago

Well that's great news @jpsider thanks so much for the quick reply!! I will create an issue/branch and send you a PR and hopefully you like! 👍