Senators voted 28-5 in favor of the 39-page bill, which also would grant people the right to carry weapons on property owned by others, unless that property is expressly a gun-free zone.
Sen Scott Beason, R-Gardendale, said he proposed the bill to clarify Alabama's gun laws.
Beason claimed that carrying arms openly in Alabama has never actually been illegal, and said local governments have been infringing on residents' rights by arresting people who did carry visible weapons in public.
"It never has been (illegal) historically, until recently," he said.
Beason's bill states that carrying visible weapons "does not, in and of itself, constitute the crime of disorderly conduct" — the charge usually applied to people arrested for carrying a weapon. It also would lift a long-standing restriction on carrying a pistol on someone else's property, instead requiring businesses and other properties to post notices that guns are prohibited.
A few Democrats opposed the bill on the grounds that the presence of more openly-armed people would make public spaces intimidating and dangerous.
"You've got to believe, people, that when we open this up, there are going to be guys walking around trying to have the biggest gun," said Sen. Bobby Singleton, D-Greensboro.
Among the bill's most-debated provisions, in the weeks before passage, was a clause stating that the state's sheriffs "shall issue" a concealed weapons permit to anyone who meets basic requirements, such as having no felony convictions. Current law allows sheriffs to deny permits to people who appear to be a danger to others or are otherwise "unsuitable" for a permit.
Beason said current law gives sheriffs too much power.
"He never had to give you a permit if he didn't like you," he said.
Sheriffs strongly opposed the bill. All 67 of the state’s sheriffs signed a letter to Lt. Gov. Kay Ivey last week, saying that the bill would allow "known drug dealers, certain sex offenders and persons who may be mentally unstable" to obtain a gun permit.
Beason introduced a new version of the bill shortly before Thursday's Senate session that granted sheriffs the ability to deny permits to people who've been involuntarily committed for mental health treatment or ruled mentally incompetent by a court.
Beason said the changes were made to convince sheriffs to support the bill. But other restrictions on sheriffs remained. The bill would give sheriffs 30 days to issue a permit, and would allow anyone denied a permit the right to appeal in court, with legal costs paid by the sheriff's office if the appellant wins.
Beason's fellow Republicans took issue with another provision of the bill — one that would require sheriffs to offer five-year pistol permits at a cost of no more than $50. Another provision of the bill would create a permit solely for carrying a gun in a car — a lifetime permit that would be issued for free.
Sen. Phil Williams, R-Rainbow City, said the restrictions would place a burden on Etowah County's government, which pays for police officers in schools by charging a $20 annual pistol permit fee.
"I don't like fees," Williams said. "I'd rather possess my firearm without them. But I cannot in good conscience create an unfunded mandate."
Beason said he'd prefer to have no fees at all.
"I don't think you should have to pay for your Second Amendment right," he said.
At Williams' request, senators amended the bill to allow existing fees to be grandfathered in.
Even supporters of the bill seemed to disagree about some of its provisions. The Senate spent nearly four hours debating amendments to the bill, most of them from Beason's fellow Republicans. Among other things, they approved an amendment that would allow gun shows to operate under one business license, rather than requiring licenses from each gun dealer at a show.
In a 13-14 vote, senators rejected one Democratic amendment — a change by Singleton that would have prohibited open carrying of guns in a bank.
"All we’re trying to do is to protect citizens, " he said. "We're not trying to stop a person from driving up there (with a gun). We're saying that if you've got it strapped on, take it off."
Opponents also criticized the bill for containing no provisions for safety in a future where people might be carrying guns more often.
"I don't know how local governments are gong to protect their citizens," said Sen. Linda Coleman, D-Birmingham. "I don't know how local law enforcement is going to protect their citizens."
Senate Majority Leader Sen. Vivian Figures, D-Mobile, noted that the bill was opposed by law enforcement, and pointed out that guns are banned from the State House itself, to protect legislators' safety.
"You can't come into this building with a gun," she said.
Senate records show that Sen. Gerald Dial, R-Lineville, and Sen. Jerry Fielding, R-Sylacauga, voted for the bill. Sen. Del Marsh, R-Anniston, was out of town and did not cast a vote.
The bill is now headed to the House of Representatives.
Capitol & statewide correspondent Tim Lockette: 256-294-4193. On Twitter @TLockette_Star.