This is a fairly long blog post with a single point: Continue to support the Fox Community, or some day you may wake up and notice it has disappeared. If you already do this, and plan on doing this you probably really don’t need to read the rest. {g}
One of the definitions of “community” from Dictionary.com:
“a social, religious, occupational, or other group sharing common characteristics or interests and perceived or perceiving itself as distinct in some respect from the larger society within which it exists”
Software development communities have been around for a while. They are a grass roots processes driven by human instinct to learn and to share. I believe it is not something that can be formed out of an idea by a single individual and it cannot be created because a company wants it to be, it has to form out of the community’s desire to participate in the greater good of the group. I think this is obvious with the different social networking ecosystems. The fact remains that Twitter and Facebook, despite their magnificent technical achievements would disappear if the people decided it was no longer worth participating in. They are vehicles that support the community, not the actual community.
The first technical community I remember belonging to was the TI-99/4A community. The TI-99/4A was the first computer I owned. I subscribed to the industry magazine, I belonged to the local user group here in southeastern Michigan, and I found other people on bulletin board systems locally and nationally. It is where I probably learned of the importance of a technical community and how well people can help each other.
In college you form study groups to help each other. I began to understand the old story about a raising tide lifts all boats. In college it was part of the survival instinct that kicks in. Each person was learning at their own pace until we decided to study together. Some of us also learned the lesson that you can learn more by teaching. There is no question that some of us became leaders/teachers, and some people fell into the learners side of the group, but as a whole I believe it helped us all get grades better than what we would have gotten on our own, and eventually the learners started teaching.
Flash forward just a few years to when I was talking with some friends about PC-File, which is a shareware database from Buttonware. Through one friend I was introduced to FoxBase+ and how a modern and way more sophisticated database with multiple workareas could work. I started playing with it and found a couple of other people who knew Dbase. Together we sort of helped each other in the evenings. Eventually I found a new job that needed FoxBase+ experience. I felt I was learning a lot, but the firehose needed to open up and I needed to learn at a faster pace. I eventually subscribed to magazines like Database Advisor and FoxTalk. But the reality of when the learning curve smoothed out was when I stumbled on to CompuServe and the FoxForum. Questions and answers to some trivial and complex problems. I read everything I could get my hands on. What a gold mine! I also started meeting people and establishing friendships from around the globe. The Fox Community
CompuServe lead to conferences, starting the Detroit Area Fox User Group, more connections, more friends, and more knowledge. I move to a different team because I had outgrown the challenge and needed something bigger. At the same time I felt the need to start giving back once I was confident in my FoxPro skills. I started sharing developer tools that I had written for my self and my team (Project Lister was the first of many). This lead to writing for FoxTalk (thanks to Bob Grommes for giving me that first chance), writing for FoxPro Advisor (thanks to Tamar Granor for sticking with me), and eventually writing for Hentzenwerke Publishing (thanks to Whil Hentzen, Andy Kramek, and Marcia Akins for trusting my report designer skills) and FoxRockX (kudos for Rainer Becker for his continued publication). I gave back on CompuServe, and later on other forums like FoxForum.com. All that lead to speaking at conferences around the world, being awarded the Most Valuable Professional from Microsoft, working on projects like VFPX, and eventually running Southwest Fox. I literally have personal friends from all parts of the world who I know I can count on when I need help with Visual FoxPro or software development. Participating in the Fox Community is very rewarding because you know you are contributing to a greater good. You get so much more than you give.
I believe my story is similar to others who participate in the Fox Community in one way or another, at similar and different levels. You learn and for the most part you give something back when you can. This is what drives and grows a community.
If you want to learn more about the whole history of the Fox Community the story has been documented as part of The History of FoxPro Web site.
I do want to share with you a couple of thoughts on why the Fox Community needs your continued support for the long term success of the community.
Supporting Community: VFPX (and other open source initiatives)
I recently was instant messaging Emerson Santon Reed who was the Ceil Silver Ambassador at Southwest Fox 2009. We were chatting about his Themed Controls project on VFPX. I have used some of his magnificent controls in my applications and have written about them in FoxRockX. One of my customers asked me to help spruce up their vertical market application so it looks fresh and up to date. One of the controls we talked about using is the Ribbon control. I knew Emerson was working on it so I asked him about it and where it was in the development cycle. He mentioned that the Ribbon control is a complex beast and to get it done requires the community to help through VFPX. He told me he posted his thoughts on this control and asked for help on his blog: Ribbon in ThemedControls suite?. He has the basics working, but the full spec is very wide and he needs people to help finish all the missing features, test, create builders, build samples, document, and figure out how to make it easier to integrate into an application. He is one man who like others has a full-time job and a family to take care of. If you read through the comments of this post you will see numerous people who give him kudos for a job well done and even some people who said they would love to help out, but in the end no one contacted him at the time the two of us talked. So the Ribbon control has been effectively shelved because Emerson is a busy person. Fortunately he was kind enough to point me to the Arg Ribbon control and I can go support another part of the Fox Community.
I have talked with other project managers on VFPX who pretty much have similar stories. Everyone is willing to benefit from the sacrifice and long hours put in by the developers on VFPX, some hand out a few kudos, several complain when something does not work, and move along. Some people don’t even hand out a kudo or word of encouragement. Some complain in a forum outside of VFPX, but don’t spend a few minutes posting the problem in the Issue Tracker so the project team can jump on it. I know some people are afraid they are not good enough seeing the quality of the work on VFPX. Let me assure you, you can test and provide feedback if you have looked into using anything on VFPX. You can learn to be better too. Some people claim they don’t have the time. I understand, it is a limiting factor as we cannot get more time. But if you could give a few hours a month you will make a significant contribution to the projects. Another key thing to remember is that no one gets fired for volunteering so it is a perfect place to get outside of your normal skill set and learn to do something new.
I can tell you that some of the projects on VFPX have gotten a tremendous amount of support. The most visible one today is probably the PEM Editor. I know Jim Nelson has a large group of people who do beta testing for him and this has helped the project tremendously. Jim also gets feedback, code fixes and suggestions from several people, help with documentation, and even has Matt Slay posting releases and doing the marketing to let the Fox Community know about releases. This project is fantastic from a perspective of the Fox Community working together and should be the role model for projects on VFPX. No project should be a single person unless that person wants to be flying solo.
The GDIPlusX project also had several people committed to the cause with people like Bo Durban, Craig Boyd, Cesar Chalom and others. This project went from nothing to production ready in relatively short order with numerous examples to help the Fox Community adapt this tool into their applications. GDIPlusX is also the foundation of several projects on VFPX and out in other parts of the Fox Community.
I can tell you that the party is more fun when more people help put it on and come to it. Developers who get feedback are more inspired to deliver updates to existing projects and others to propose more because they know they will not be doing it alone.
My recommendation is to get involved if you want to see VFPX grow in the future.
Supporting Community: User Groups
I helped form the Detroit Area Fox User Group back in 1994 with 5 other FoxPro developers more than 16 years ago. I also am a member in the Grand Rapids Fox User Group and I have done presentations at user groups across the United States. I find them valuable from a educational experience and from a social experience. From what I can tell the groups change in size and direction, but from what I am observing, they all have a small core group of people who come to most meetings, and a few people who come occasionally. These tight knit groups work because they they too feed off human instinct to learn and share.
At the core these groups survive by members participating. At the same time the membership have to get something out of it. Learning and sharing your knowledge, just like I mentioned back in college with study groups, raises all boats. In fact, when you think about it, user groups are exactly like college study groups. I have also noticed over the years that Fox user groups also like to dabble in other software development concepts and processes, and even other platforms and languages. It is how one grows and how one is able to offer the best solutions to your customers.
My recommendation is to join your local group, or start one if it makes sense. If you are part of one, volunteer to do a presentation, or pick up a leadership role. You will get 10x what you put into it.
FYI: I have also written about my thoughts on the important interdependency of user groups and conferences in a blog post last year titled: User Group Dependency on Conferences.
Supporting Community: Forums
I am kind of surprising myself by even mentioning forums in a post about community as the Fox Community started online and continues to thrive online. Whether you visit Foxite, FoxForum, ProFox (yes a list server, but still an active online discussion area), one of the Tek-Tip FoxPro forums, UniversalThread, or the Visual FoxPro Wiki (yes not a forum, but another online knowledgebase with un-threaded discussions), you will find lots of other people with common characteristics and interests willing to help you out. They each have their own pros and cons, and you really need to find one or more that fit your personality. Please take the time to answer a few questions too. I guarantee you that you will find it exhilarating when you help others with a problem. You may even find it addicting.
Supporting Community: Commercial Activities
How can one consider commercial activities part of the community since they are in the business of making money? Reading this post one might think the Fox Community is all about learning and sharing. There are a number of commercial ventures that support the Fox Community and your ability to make money as well.
For instance, FoxRockX is a journal you can get for an online subscription for US$99/Eur€75. I write for Rainer’s publication and I even get paid for the writing thanks to the fact people subscribe. If people stop supporting the journal it would cease to exist and Rainer would remove my deadlines. Would I stop writing. OK, not completely as I would continue to share posts on Twitter and an occasional article here on my blog, but without a deadline I will probably write less because there will be other customer priorities. Less articles means less sharing and fewer opportunities to learn for others.
The same principle applies to framework vendors, book vendors, tool vendors, and conferences. If you get value from them continue to support them so they continue to support you. I am not saying you should blindly throw your money at the products. They should provide you value. You should demand they provide you value. But if the value is there, and they help you be profitable or more marketable, or enhance your career, you should make sure to show your support by giving them incentive to keep on going. Otherwise the vendors will disappear. If you tell yourself I can subscribe next year when I might need an upgrade to the framework to support Windows 7 features, the framework vendor might not have the resources to write the functionality. If you note you can push that book purchase off until next budget year you might find the publisher no longer has stock. Anyone who believes you can skip a conference this year and go next year might find others who did the same and forced the organizers into a position where they cannot offer it the next time around. Don’t count on someone else supporting the future of the vendors.
Summary
Thanks for taking the time to read this post. Community is important, whether it is the physical community you live in, or a virtual technical community like the Fox Community. Communities survive and thrive based on the members contributing, participating, and supporting others. Please continue to support the Fox Community, or some day you may wake up and notice it has disappeared.