Let's talk about how we can work together and collaborate

17 views
Skip to first unread message

Jesse Burns

unread,
Apr 24, 2014, 2:43:20 AM4/24/14
to allia...@googlegroups.com
I'd like to get a community discussion going here.

This discussion is open, please join in. The more the merrier. If you are shy, just reply with a one liner ;-)

I might seem corny, but one of the reasons I love open source software is the communities that surround it, and being a part of those communities.

Another thing I love about open source software is that the more a community talks and thinks and brainstorms and shares their likes, dislikes, hopes and fears about the software or it's design, the better. Every conversation, every thought, every idea, every wish, every dislike is like a little nugget that gets thrown into the pot. I like to call the collection of nuggets "Open Source Sauce" :-)

What happens is that the sauce gets stirred, and all of the good stuff , shiny new nuggets, community polished nuggets, float to the top. The more stuff that is thrown into the open source sauce, the better the stuff that floats to the top. So far it's been one guy throwing nuggets into the sauce. How can I trust that one person's nuggets are going to be good nuggets, even if that one guy is me? :-D

I think I've been making a few good choices design and feature wise, and I believe my vision is a great vision and don't want to stray too far from it, unless there are either valid, well thought out reasons to change, or technical issues that force changes to my vision. What I'd like to do is discuss how we are going to make that vision into a kick ass piece of software!!!

Anyone Can Help

Technical knowledge is great, but I would like to reiterate that low to no technical knowledge is needed to help an open source project.

Sometimes being too technical can get in the way. We start looking at the trees instead of the forest. Let's all keep this in mind when thinking about AllianceCMS.

Low-to-non technical people can help by:
  • Using the system and reporting bugs
  • Creating a wish list of features
  • Helping with documentation (which is a great way to get to know a project)
  • Telling us how bad something sucks
    • Honestly, some of the best changes to an open source project come from someone complaining about a feature, or a missing feature. If the dev team can put aside their ego they can learn from the criticism and make their software even better than it was yesterday :-)
  • Blogging about it, talking about it to friends, or sharing about it on a social network
  • Helping organize and push bug fixes (just ask for the proper permissions on Github to help with this)
    • You can go to the Github issue tracker and make sure:
      • the issue is clearly stated (what the problem is, steps to reproduce, etc...) and labeled correctly
      • that someone isn't waiting on a response to a comment or request to do something
      • that the bug is still relevant due to how much of a moving target the system is
    • Do not be afraid to contact the person that is assigned to the issue, or myself, and discuss the status of the bug
  • Learning by looking at the code and asking how something works

Notes regarding collaboration, commitment and BALANCE!

First thing I want to mention is that I have a wife and two young children. I play, write and record music. I work on AllianceCMS. I contribute to PHP-RBAC. I am going to try to fit in some time to contribute to The Bug Genie. I have a few code related things I'm messing with in my spare time. Right now I'm trying to get familiar with the Go language. So I understand what balance means, and I understand that some commitments are more important than others.

I've also been working with open source projects for a little bit, so I understand the initial excitement that comes with wanting to help a new project, and I understand that after a few weeks or a month that the initial excitement can wear off. If I really believe in what I'm working on, then I just set aside time to work on it when I can. But remember, this is open source, we don't have deadlines, we don't have scheduled release dates. It's done when it's done :-)

I don't want anyone to feel that contributing to AllianceCMS is a legally binding thing. Take it as serious as you'd like. If you have more time to help out then that is great. If you only have an hour here or there then that is great. There is no stress allowed. We do this stuff because it's fun. It's fun to build new things. It's fun to talk about technical issues to someone that understands what you're talking about. And the funnest part of it all is seeing other people use what you helped create. You have no idea how fun it is to have an active forum of users talking and helping each other. And not only that, the project will start to move from us thinking about what cool features we can build, to users asking for things. Then the community starts to drive the direction of the project. We just have to figure out the best way to implement something a user asks for!

On to the technical issues.

How are we going to do this?

Right now I am the most knowledgeable person regarding the current system which is in transition, and what the current plans are for where the system is going.

We can go about this two ways, or maybe one after the other:

  1. We can start from the front and work our way back
    • I can work on some documentation, diagrams and maybe some wireframes that explain:
      • The general concepts regarding the system (what a Venue is, how permissions are going to work, what I'd like to offer modules devs and theme creators, etc...).
      • How the different user roles will interact with the system (main site admin, general members, Venue admins, Venue members).
      • How certain pages might look like and how certain features will be used
  2. Next I can get into the technical aspects and explain:
    • How I plan on making these features a reality
      • What sub-systems I think we're going to need (routing, event/hook system, permission system, etc...
    • What technologies/tools/libraries I am currently using
    • How much I have already implemented
      • I'm really looking forward to this discussion, as I'm at a crossroads. The next couple of decisions made is really going to define a lot about the system
    • What technologies/tools/libraries I am thinking about using
      • There are many pro's and con's that need to be discussed
    • Some of the thoughts that have been rolling around my head regarding design and architecture from this point on
      •  I actually, I have a lot of code that can be turned into production code, but I'm not too sure about a few things. Sometimes it's hard to draw the line between simplicity and complexity with benefit.

So I can explain my thoughts about the system without mentioning technical details, just my vision of how people will use it. And then I can explain the more technical details.

After that we can have a free-for-all brainstorm about AllianceCMS (I actually like the sound of that). Then I think we need to break this down into smaller nuggets so we can have more focused decisions.

After that I think we all need to figure out what part of the system we feel we want to focus on and go from there.

Or if you would prefer we can just jump right into the technical aspects of the project. Let me know what you think!

Closing comments

Instead of typing out AllianceCMS I use acms as shorthand. You will see that often when I write.

I would like to try to introduce some organization around here, but please, please believe me when I say that anyone can pull me aside and ask questions or make suggestions. We don't need to wait for someone to post a formal thread or push an initiative. Feel free to get in touch with me or anyone else that is part of the acms community.

I have mentioned this elsewhere, but acms has a mentoring program. How the mentoring program works is that someone who is more knowledgeable with acms will take someone new to the system under their wing. There are no fee's involved, but there is one requirement to join the Mentoring program: Someone can receive the benefits of mentoring free of charge, the only requirement being that when they are knowledgeable about the system they will have to take someone under their wing and help them learn about acms.

Since I am the most knowledgeable person regarding acms, I am the first Mentor. Please use me, please ask me questions, please make me think, please allow me to try to get you as excited about acms, it's philosophies and it's future as I am.

Here's my contact info again:

Jesse Burns

unread,
Apr 24, 2014, 6:34:54 AM4/24/14
to allia...@googlegroups.com
I spent some time and wrote a quick doc that explains how I see AllianceCMS being used:

https://docs.google.com/document/d/1xg35-aBI_8uIZH10Z4HfxgzVi7jTnJ_bu_4k8oyMphI/edit

Questions and comments are encouraged :-)
Reply all
Reply to author
Forward
0 new messages